2015-06-07 3 views
0

У меня есть запрос UPDATE, что хорошо работает, когда я выполняю его в MS Managment Studio. Но если я попытаюсь выполнить этот запрос из моего приложения C#, он будет выполняться без каких-либо исключений, но не обновляет таблицу. Строка подключения верна. Это так, как я это сделать:SQL-запрос не обновляет таблицу

int contractId = 2 
con.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\tst.mdf;Integrated Security=True;Connect Timeout=30"; 
con.Open(); 
SqlCommand cmd = con.CreateCommand(); 
cmd.CommandText = "update аренды set datetime_возврата=GETDATE() where id_договора[email protected]"; 
cmd.Parameters.Add("@contract_id", SqlDbType.Int, 4).Value = contractId;   
cmd.ExecuteNonQuery(); 

Что может быть не так?

+4

Вы добавляете именованный параметр '@ contract_id', в то время как текст команды имеет' @ contractId'. Может ли так быть? –

+0

нет, это не так. это не работает, даже если это «обновление аренды set datetime_возврата = GETDATE(), где id_договора = 2» –

+2

Вы уверены, что проблема заключается не в том, что вы не совершаете ее и откатываете? Возможно, профилировщик помогает вам увидеть, что на самом деле происходит. –

ответ

1

если ваш C# код выполняется без каких-либо исключений, он обновляет базу данных тоже, но обратите внимание, вы привыкли AttachDbFilename=|DataDirectory|\tst.mdf в вашем ConnectionString означает Databse, который обновляется находится в папке подпапки BIN\DEBUG вашего project.if вы хотите см. обновленные данные, просто присоедините базу данных, расположенную в папке bin/debug, в ssms. , так как Стив упомянул в комментариях для более подробной информации, прочитайте this сообщение.

+0

Большое спасибо! –

Смежные вопросы