Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Harus mendeklarasikan variabel skalar @ID untuk memasukkan parameter

Masalahnya masih Anda mencoba menggunakan "lingkup" yang sama dengan dua perintah SQL yang berbeda. Meskipun mereka adalah "variabel" yang sama dalam C# dalam SQL, mereka memiliki cakupan yang berbeda.

Anda harus menjalankan kedua pernyataan dalam satu perintah dan menambahkan @ID parameter sebagai Output parameter untuk menyisipkan dan mengeluarkan identitas:

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"];


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat memperoleh informasi tentang grup/pengguna Windows NT

  2. Cari Tahu apakah Partisi Dikompresi di SQL Server (T-SQL)

  3. tutorial pemula untuk report viewer?

  4. Jalankan prosedur tersimpan menggunakan kerangka entitas

  5. Bagaimana saya bisa mengekspor gambar dari SQL Server ke file di disk?