我有两种不同形式的“addstock”形式和“viewstocks”形式。
当我在addstock表单中添加stock_no
和详细信息并返回时,按下viewstock形式的“刷新按钮”;新记录将以viewstock形式出现。
viewstock表单也有删除按钮。
当我选择行并按删除时,我收到此错误
必须声明标量变量“@Stockno”
我需要打电话给它。请帮忙,
private void bunifuFlatButton3_Click(object sender, EventArgs e)
{
try
{
conn.Close();
conn.Open();
String DeleteQuery = "delete from Stocks_Item where Stock_code = (@Stockno)";
SqlDataAdapter execute = new SqlDataAdapter(DeleteQuery, conn);
execute.SelectCommand.ExecuteNonQuery();
MessageBox.Show("You've deleted successfully!", "Successful Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
conn.Close();
cmd.ExecuteNonQuery();
SqlDataAdapter data = new SqlDataAdapter("Select * from Stocks_Item", conn);
DataTable dt = new DataTable();
data.Fill(dt);
dataGridView1.DataSource = dt;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
答案 0 :(得分:1)
当你想要删除某些内容时,你应该不使用SqlDataAdapter
- 使用一个独立的SqlCommand
- 就像这样:
private void bunifuFlatButton3_Click(object sender, EventArgs e)
{
try
{
conn.Close();
string DeleteQuery = "delete from Stocks_Item where Stock_code = @Stockno";
SqlCommand cmdDelete = new SqlCommand(DeleteQuery, conn);
-- add the parameter!
cmdDelete.Parameters.Add("@stockno", SqlDbType.Int).Value = (provide the value for `@stockno` here!);
// open connection, execute command, close connection
conn.Open();
cmdDelete.ExecuteNonQuery();
conn.Close();
MessageBox.Show("You've deleted successfully!", "Successful Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
.....
}
}