Я использую динамический sql для вставки данных в динамическую таблицу (.NET C#). мне нужно, чтобы получить значение идентификатора столбца в ответ, и я стараюсь использовать SCOPE_IDENTITY, но результат всегда показывает 1.ExecuteSQLCommand SCOPE_IDENTITY() всегда возвращает 1 (.NET C#)
Это мой код
dqDbContext dqx = new dqDbContext();
string queryHdr = "INSERT INTO " + tableHdrName + " VALUES ("
+ configId + ",'Administrator',GETDATE()); SELECT SCOPE_IDENTITY();";
int id = dqx.Database.ExecuteSqlCommand(queryHdr);
Есть ли что-то, что я здесь отсутствует?
Благодаря
Felix
Привет stakx, он был построен в System.Data.Entity .. Я использую MS SQL Server БД и таблица имеет столбец идентификаторов .. Я Попробуем другой метод. Спасибо –
[SQL Injection alert] (http://msdn.microsoft.com/en-us/library/ms161953%28v=sql.105%29.aspx) - вы должны ** не * * объединить ваши SQL-запросы - использовать ** параметризованные запросы ** вместо этого, чтобы избежать SQL-инъекции. –
hi marc_s возможно ли выполнить некоторую инъекцию sql для параметра, который не вводится пользователем? потому что параметр не от пользовательского ввода .. но я дам ему попробовать изменить его в параметризованный .. спасибо marc_s –