Note that there are some explanatory texts on larger screens.

plurals
  1. POExecuteNonQuery doesn't work
    primarykey
    data
    text
    <p>Here is my code :</p> <pre><code>Document doc = new Document(); SqlConnection cnn = Ketnoi.GetSqlConnection(); cnn.Open(); SqlTransaction trans = cnn.BeginTransaction(); doc.setChomuon(false); doc.setGia(txtGia.Text.ToString().Trim()); doc.setISBN(txtISBN.Text.ToString().Trim()); doc.setKhosach(txtKHosach.Text.ToString().Trim()); doc.setMann(cbMangonngu.Text.ToString().Trim()); doc.setManxb(cbManxb.Text.ToString().Trim()); doc.setMatl(cbMatheloai.Text.ToString().Trim()); doc.setNoidung(txtNoidung.Text.ToString()); doc.setSlxb(txtLXB.Text.ToString().Trim()); doc.setSotrang(txtLXB.Text.ToString().Trim()); doc.setTensach(txtTensach.Text.ToString().Trim()); doc.setTgxb(dtbNgayxb.Text.ToString()); doc.setTinhtrang(true); doc.setMangantu(cbMangantu.Text.ToString().Trim()); doc.setMasach(txtMasach.Text.ToString().Trim()); SqlCommand cmd = new SqlCommand(); if (rdSach.Checked == true) { cmd = new SqlCommand("checkdoc", cnn, trans); } else if (rdSachdt.Checked == true) { cmd = new SqlCommand("checkedoc", cnn, trans); } cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue(@"ISBN", doc.getISBN()); cmd.Parameters.AddWithValue(@"masach", doc.getMasach()); SqlParameter paramReturnValue = new SqlParameter(); paramReturnValue = cmd.Parameters.Add("RETURN_VALUE", SqlDbType.Int); paramReturnValue.Direction = ParameterDirection.ReturnValue; try { cmd.ExecuteNonQuery(); } catch (Exception mess) { MessageBox.Show(mess.Message); cnn.Close(); } if ((int)cmd.Parameters["RETURN_VALUE"].Value == 1) { MessageBox.Show(" ISBN EXISTED ! "); cnn.Close(); } else if ((int)cmd.Parameters["RETURN_VALUE"].Value == 0) { cmd.Parameters.AddWithValue(@"TENSACH", doc.getTensach()); cmd.Parameters.AddWithValue(@"KHOSACH", doc.getKhosach()); cmd.Parameters.AddWithValue(@"NOIDUNG", doc.getNoidung()); cmd.Parameters.AddWithValue(@"HINHANHPATH", doc.getHinhanh()); cmd.Parameters.AddWithValue(@"NGAYXUATBAN", DateTime.Parse(doc.getTgxb())); cmd.Parameters.AddWithValue(@"LANXUATBAN", int.Parse(doc.getSlxb())); cmd.Parameters.AddWithValue(@"SOTRANG", int.Parse(doc.getSotrang())); cmd.Parameters.AddWithValue(@"GIA", Int64.Parse(doc.getGia())); cmd.Parameters.AddWithValue(@"MANXB", int.Parse(doc.getManxb())); cmd.Parameters.AddWithValue(@"MANGONNGU", int.Parse(doc.getMann())); cmd.Parameters.AddWithValue(@"MATL", doc.getMatl()); cmd.Parameters.AddWithValue(@"TINHTRANG", doc.getTinhtrang()); cmd.Parameters.AddWithValue(@"CHOMUON", doc.getChomuon()); cmd.Parameters.AddWithValue(@"MANGANTU", int.Parse(doc.getMangantu())); if (rdSach.Checked == true) cmd.CommandText = "insert"; else if (rdSachdt.Checked == true) { cmd.CommandText = "insertedoc"; cmd.Parameters.AddWithValue(@"filesach", doc.getFilesach()); cmd.Parameters.AddWithValue(@"sldown", Int64.Parse(doc.getSolandown())); cmd.Parameters.AddWithValue(@"down", doc.getChophepdown()); } try { cmd.ExecuteNonQuery(); MessageBox.Show("success"); cnn.Close(); } catch (Exception mess) { MessageBox.Show(mess.Message); trans.Rollback(); cnn.Close(); } } </code></pre> <p>My stored procedures in SQL Server:</p> <pre><code>ALTER proc [dbo].[checkdoc] (@ISBN varchar(10), @Masach varchar(10)) as IF Exists(select * from SACH where ISBN = @ISBN or MASACH=@Masach) return 1 ELSE return 0 ALTER proc [dbo].[insertdoc]( @ISBN char(10), @TENSACH varchar(100), @KHOSACH varchar(5), @NOIDUNG varchar(300), @HINHANHPATH varchar(50), @NGAYXUATBAN smalldatetime, @LANXUATBAN int, @SOTRANG int, @GIA bigint, @MANXB int, @MANGONNGU int, @MATL char(5), @MASACH varchar(10), @TINHTRANG bit, @CHOMUON bit, @MANGANTU int ) as insert into ISBN values( @ISBN, @TENSACH, @KHOSACH, @NOIDUNG, @HINHANHPATH, @NGAYXUATBAN, @LANXUATBAN, @SOTRANG, @GIA, @MANXB, @MANGONNGU, @MATL ) insert into SACH values(@ISBN, @MASACH, @TINHTRANG, @CHOMUON, @MANGANTU) </code></pre> <p>Everything is ok when I debug it. After I received message success then check in SQL Server, no row affected. I did refresh table and my stored procedure works in SQL Server but when I call it in asp.net, it doesn't work. Any help will be great.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload