나는 SQL 출력 절을 사용하여 데이터베이스에서 새로 삽입 된 레코드의 ID를 얻기 위해 노력하고, 즉삽입 된 행의 ID를 얻기
insert into table1(forename, surname) output inserted.id values(@forename, @surname)
와 나는이 같은 ID를 캡처하는 것을 시도하고있다 :
Int32 id = (int)command.ExecuteScalar;
것은이 나에게 오류 메시지를주고있다 :
Compiler Error Message: CS0428: Cannot convert method group 'ExecuteScalar' to non-delegate type 'int'. Did you intend to invoke the method?
확실히 내가 잘못하고있는 중이 아니 무슨.
using (connection = new SqlConnection(ConfigurationManager.AppSettings["connString"]))
{
using (command = new SqlCommand("insert into table1(forename, surname) OUTPUT INSERTED.ID values(@forename, @surname)", connection))
{
command.Parameters.Add("@forename", SqlDbType.VarChar, 255).Value = forename;
command.Parameters.Add("@surname", SqlDbType.VarChar, 255).Value = surname;
command.Connection.Open();
id = (int)command.ExecuteScalar;
}
}