Professional Documents
Culture Documents
Each .NET Framework data provider included with the .NET Framework has its own command object that inherits from DbCommand. The .NET Framework Data Provider for OLE DB includes an OleDbCommand object, the .NET Framework Data Provider for SQL Server includes a SqlCommand object, the .NET Framework Data Provider for ODBC includes an OdbcCommand object, and the .NET Framework Data Provider for Oracle includes an OracleCommand object. Each of these objects exposes methods for executing commands based on the type of command and desired return value, as described in the following table.
command ExecuteReader ExecuteScalar ExecuteNonQuery ExecuteXMLReader Return Value Returns a DataReader object. Returns a single scalar value. Executes a command that does not return any rows. Returns an XmlReader. Available for a SqlCommand object only.
Each strongly typed command object also supports a CommandType enumeration that specifies how a command string is interpreted, as described in the following table.
CommandType Description Text An SQL command defining the statements to be executed at the data source. StoredProcedur The name of the stored procedure. You can use the Parameters property of a command to e access input and output parameters and return values, regardless of which Execute method is called. When using ExecuteReader, return values and output parameters will not be accessible until the DataReader is closed. TableDirect The name of a table.
Executing a Command
static void GetSalesByCategory(string connectionString, string categoryName) { using (SqlConnection connection = new SqlConnection(connectionString)) { // Create the command and set its properties. SqlCommand command = new SqlCommand(); command.Connection = connection; command.CommandText = "SalesByCategory"; command.CommandType = CommandType.StoredProcedure; // Add the input parameter and set its properties. SqlParameter parameter = new SqlParameter(); parameter.ParameterName = "@CategoryName"; parameter.SqlDbType = SqlDbType.NVarChar; parameter.Direction = ParameterDirection.Input; parameter.Value = categoryName; // Add the parameter to the Parameters collection. command.Parameters.Add(parameter);
Code - I
Executing a Command
// Open the connection and execute the reader. connection.Open(); SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { Console.WriteLine("{0}: {1:C}", reader[0], reader[1]); } } else { Console.WriteLine("No rows found."); } reader.Close(); } }
Code - I
Code
If your server supports the OUTPUT clause you could try this :
public static void CreateSocialGroup(string FBUID){ string query = "INSERT INTO SocialGroup (created_by_fbuid) " + " OUTPUT INSERTED.IDENTITYCOL VALUES (@FBUID)"; using (SqlConnection connection = new SqlConnection(ConnectionString)) { SqlCommand command = new SqlCommand(query, connection); command.Parameters.AddWithValue("@FBUID", FBUID); connection.Open(); var _id = command.ExecuteScalar(); } }