Это похоже на sqltransaction
SqlConnection cn; SqlTransaction st; st=cn.BeginTransaction;
В/с
SqlConnection cn;
SqlTransaction st=новая SqlTransaction();
Похоже ли это?
Что я уже пробовал:
Я искал в гугле, но не понял и запутался.
private void btbsend_Click(object sender, EventArgs e) { MySqlCommand genvoucher,df; MySqlTransaction genvouchrt=new MySqlTransaction(); MySqlTransaction dft = new MySqlTransaction(); try { cn.Open(); string fvno; dateTimePicker1.Value = DateTime.Now; dateTimePicker2.Value = DateTime.Now; var tdat = dateTimePicker2.Value; var ttime = dateTimePicker1.Value; fvno = textBox1.Text; genvoucher = new MySqlCommand("insert into cutting(vno,bno,nsize,machine,vdate,operator,stime,shift,status) values(@vno,@bno,@size,@machine,@date,@opt,@start,@shift,@status)", cn, genvouchrt); genvoucher.Parameters.AddWithValue("@vno", fvno); genvoucher.Parameters.AddWithValue("@size", textBox3.Text); genvoucher.Parameters.AddWithValue("@bno", comboBox3.SelectedItem.ToString()); genvoucher.Parameters.AddWithValue("@machine", comboBox1.SelectedItem.ToString()); genvoucher.Parameters.AddWithValue("@date", tdat); genvoucher.Parameters.AddWithValue("@opt", comboBox4.SelectedItem.ToString()); genvoucher.Parameters.AddWithValue("@shift", shift); genvoucher.Parameters.AddWithValue("@start", ttime); genvoucher.Parameters.AddWithValue("@status", "Open"); genvoucher.ExecuteNonQuery(); genvouchrt.Commit(); df = new MySqlCommand("insert into vouchers values(@vno,@dept,@shift,@task,@stats,@remarkn,@remarkv)", cn, dft); df.Parameters.AddWithValue("@vno", textBox1.Text); df.Parameters.AddWithValue("@dept", dept); df.Parameters.AddWithValue("@shift", shift); df.Parameters.AddWithValue("@task", "Cutting"); df.Parameters.AddWithValue("@stats", "Open"); df.Parameters.AddWithValue("@remarkn", ""); df.Parameters.AddWithValue("@remarkv", ""); df.ExecuteNonQuery(); dft.Commit(); MessageBox.Show("Voucher Opened Successfully!"); cn.Close(); this.Close(); } catch (Exception eli) { MessageBox.Show("Can't Generate Voucher" + Environment.NewLine + eli); try { genvouchrt.Rollback(); dft.Rollback(); } catch(Exception ex) { MessageBox.Show("Rollback Exception"+ex.Message); } } }
Graeme_Grant
Какой у вас вопрос? Будьте конкретны: это то, что я сейчас делаю; это код, который я использую; это ошибка, с которой я столкнулся; и т. д...
[no name]
мой вопрос в том, если я использую вторую часть, это неправильно?
Graeme_Grant
Эта информация должна быть в вашем вопросе. Вот почему это называется "вопросом".
Кроме того, нажмите "ответить" на комментарий, на который вы хотите "ответить", а не "задать вопрос или комментарий". Таким образом, автор будет знать, что вы общаетесь с ними. Вы уже задали более 15 вопросов, так что вы уже должны это знать.
[no name]
я обновил свой вопрос и добавил код.
Graeme_Grant
см. ответ ниже.
Graeme_Grant
Согласно документации, вы открываете соединение, начинаете транзакцию, выполняете какую - то работу, фиксируете транзакцию или откатываете ее-вот и все в двух словах. Для получения дополнительной информации ознакомьтесь с документацией.