У меня есть запрос (гипотетический пример ниже)Проверить вставила ли запись
if not exists(select productID from Products where supplierID=3)insert into Products(productName, price) values('Socks', 23)
То, что я пытаюсь сделать, это вставить запись в таблицу Products
, если нет какой-либо другой записи существующих с той же supplierID
. Запрос, который у меня выше, отлично работает. То, что я хотел бы сделать после выполнения этого запроса, состоит в том, чтобы извлечь productID
, если запись была найдена и использовать ее для вставки записи в другую таблицу, скажем invoices
. Я пытаюсь сделать это с count
, который не очень поможет, как так. (Всегда разрешается в else
заявлении.
int count=query.ExcecuteNonQuery();
if(count==1){
return "found";
}
else{
return "not found";
}
Любой, кто может помочь с эффективным решением для этого?
UPDATE
Так что я попробовал это в Management Studio
declare @row int if not exists(select productID from Products where supplierID=3)insert into Products(productName, price) values('Socks', 23) select @[email protected]@rowcount select @rows as rows
Когда я запускаю этот запрос в студии управления она возвращает 0
, если нет строка была вставлена и 1
, если строка была вставлена, однако, когда я пытаюсь выполнить репликацию запроса в моем коде и alert
rows
, он отображает 0
каждый раз. Почему это может быть?
Почему вы не используете сущность framework? –
Возможный дубликат http://stackoverflow.com/q/5228780/1513471 –
@LeandroSoares Я передаю переменные из ajax. Это то, как я это делал до сих пор. Если у вас есть более эффективный метод, пожалуйста, поделитесь –