Я пытаюсь получить идентификатор для последней записи, которую я вставил в таблицу базы данных через мой сайт asp.net.
Моя вставка является хранимой процедурой, я пробовал использовать скалярную функцию, но онадавая мне это Указанное приведение неверно.
Это оператор вставки, который я использую:
@ClientID varchar(250),
@BType varchar(250),
@CIP varchar(50),
@Sess varchar(500),
@LoggedIn int,
@LoggedInTime datetime
AS
BEGIN
INSERT INTO tblSession ( ClientID, BType, CIP, Sess, LoggedIn, LoggedInTime) VALUES ( @ClientID, @BType, @CP,@Sess, @LoggedIn, @LoggedInTime)
SELECT SCOPE_IDENTITY()
END
И метод, который я вызываю:
using (SqlConnection con = DBConnection.getConnection())
{
string sql = "Add";
SqlCommand command = new SqlCommand(sql, con);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@ClientID ", SqlDbType.VarChar).Value = id;
command.Parameters.Add("@BType", SqlDbType.VarChar).Value = bt;
command.Parameters.Add("@CIP", SqlDbType.VarChar).Value = cip;
command.Parameters.Add("@Sess", SqlDbType.VarChar).Value = s;
command.Parameters.Add("@LoggedIn", SqlDbType.Int).Value = LoggedIn;
command.Parameters.Add("@LoggedInTime", SqlDbType.DateTime).Value = session.LoggedInTime;
int x;
x = (int)command.ExecuteScalar();
return x;
}
пожалуйста, любая помощь очень ценится