समस्या अभी भी है कि आप दो अलग-अलग SQL कमांड के साथ समान "स्कोप" का उपयोग करने का प्रयास कर रहे हैं। यहां तक कि सोचा कि वे एसक्यूएल में सी # में एक ही "चर" हैं, उनके पास अलग-अलग दायरा है।
आपको दोनों कथनों को एक कमांड में निष्पादित करना होगा और @ID
. जोड़ना होगा पैरामीटर के रूप में Output
पैरामीटर डालने और पहचान निकालने के लिए:
nonqueryCommand.CommandType = CommandType.Text;
nonqueryCommand.CommandText = "INSERT tblLoginLogTable (UserName, LoggedInDate, LoggedInTime) VALUES (@UserName, @LoggedInDate, @LoggedInTime); " +
"SELECT @ID = SCOPE_IDENTITY()";
nonqueryCommand.Parameters.AddWithValue("@UserName", txtUserName.Text);
nonqueryCommand.Parameters.AddWithValue("@LoggedInDate", DateTime.Now);
nonqueryCommand.Parameters.AddWithValue("@LoggedInTime", DateTime.Now);
nonqueryCommand.Parameters.Add("@ID",SqlDbType.Int).Direction = ParameterDirection.Output;
thisConnection.Open();
nonqueryCommand.ExecuteNonQuery();
int id = (int)nonqueryCommand.Parameters["@ID"];