Всем привет.
Есть форма, в ней пара полей для ввода и кнопка, по нажатию на которую нужно сохранить данные из полей для ввода. Сохранение реализуется методом addNewWord класса представленного ниже.
1) При нажатии на кнопку, код отрабатывает без ошибок, но итоге в таблице данные не появляются. Почему? При этом, если нажать на кнопку больше 1 раза, появляется ошибка: "...Cannot insert duplicate key in object ...". Т.е. получается, что после первого нажатия кнопки вставка была и в таблицу данные были добавлены. Но когда в Visual Studio открываю таблицу, там пусто.
2) Почему пояляется ошибка "Cannot insert duplicate key in object ", если поле ID (PRIMARY KEY) в таблице объвлено как IDENTITY ?
class DbWriter
{
private SqlConnection connection;
private SqlCommand query;
public DbWriter()
{
string sqlCon = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\database.mdf;Integrated Security=True;Connect Timeout=30";
this.connection = new SqlConnection(sqlCon);
this.connection.Open();
this.query = new SqlCommand();
query.Connection = this.connection;
query.CommandType = System.Data.CommandType.Text;
}
public void addNewWord(string deutch_wort, string rissich_wort)
{
SqlTransaction safetransaction = connection.BeginTransaction();
this.query.CommandText = "insert into wort (deutch, russich) values ('" + deutch_wort + "', '" + rissich_wort + "') SELECT SCOPE_IDENTITY()";
this.query.Transaction = safetransaction;
this.query.ExecuteNonQuery();
safetransaction.Commit();
}
}