Sie verwenden die falsche Syntax, um diese Informationen zu erhalten.
"...; SELECT SCOPE_IDENTITY()"
(Beachten Sie auch das Semikolon vor dem SELECT und nach dem Ende der ersten SQL-Anweisung)
An diesem Punkt die ExecuteScalar in der Lage, die erste Spalte der ersten Zeile von den SELECT
zurückgegeben zu bekommen
Sagten, dass Sie ein wenig Ihrer Zeit in Anspruch nehmen zu lernen, wie "Parameterized Queries" Ihr Code auszuführen ist sehr schwach und ein leichtes Ziel für Sql Injection
string cmdText = @"INSERT INTO tbl_Supplier
(Supplier_Name,
Supplier_Address,
Supplier_PhoneNo,
Supplier_City,
Supplier_Remarks)
VALUES(@name, @address, @phone, @city, @remarks);
SELECT SCOPE_IDENTITY()"
using(SqlCommand cmd = new SqlCommand(cmdText, connection))
{
connection.Open();
cmd.Parameters.Add("@name", SqlDbType.NVarWChar).Value = TextBox1.Text;
cmd.Parameters.Add("@address", SqlDbType.NVarWChar).Value = TextBox2.Text;
cmd.Parameters.Add("@phone", SqlDbType.NVarWChar).Value = TextBox3.Text;
cmd.Parameters.Add("@city", SqlDbType.NVarWChar).Value = DropDownList1.SelectedItem
cmd.Parameters.Add("@remarks", SqlDbType.NVarWChar).Value = TextBox4.Text;
var id = cmd.ExecuteScalar();
}
conn.Close();
Ihr Code enthält nicht 'select scope_identity()', darin ist 'return scope_identity()' enthalten. 'select' und' return' machen verschiedene Dinge. Bitte korrigieren Sie Ihre Frage, um zu sagen, welche Sie verwenden. – hvd
Sowohl Rückgabe als auch Auswahl werden zurückgegeben 1 – Iqra