更新时间:2023-11-28 21:03:10
使用这个
这里"conn"是您的连接
Hi,
Use this
Here "conn" is your connection
private void btndeleteresources_Click(object sender, EventArgs e)
{
SqlCommand cmd = new SqlCommand("delete from Resources_Required where Resources='"+listBox1.SelectedItems[0].ToString() +"'", conn);
cmd.ExecuteNonQuery();
SqlDataAdapter adp = new SqlDataAdapter("Select * from Resources_Required","Data Source=SW-PC-20;Initial Catalog=PSM;Integrated Security=True" );
DataSet ds = new DataSet();
adp.Fill(ds, "Resources_Required");
listBox1.DataSource = ds.Tables[0];
listBox1.DisplayMember = "Resources";
listBox1.ValueMember = "Resources";
cboresources.Focus();
}
试试吧.
问候
AR
Try it.
Regards
AR
我不确定此代码是否会删除.
试试这个,
I''m not sure this code will delete or not.
Try this,
string selCmdString = "SELECT *FROM Resources_Required";
SqlCommand selCommand = new SqlCommand(selCmdString, conn);
string delCmdString = "DELETE FROM Resources_Required WHERE Resources=@Res";
SqlCommand delCommand = new SqlCommand(delCmdString, conn);
SqlDataAdapter adp = new SqlDataAdapter(selCommand);
adp.DeleteCommand = delCommand;
//Adding one more thing, try this
DataRowView curRowView = (DataRowView)listBox1.SelectedItem;
String resources = curRowView["Resources"].ToString(); // Will return the current value in selected row of Column Resources
//Use SqlParameters to avoid SQL injections. Keep it as practice.
SqlParameter param = New SqlParameter();
param.ParameterName = "@Res";
//param.Value = listBox1.SelectedItem.ToString();
param.Value = resources;
param.SqlDbType = SqlDbType.SmallInt;
delCommand.Parameters.Add(param);
DataSet ds = new DataSet();
adp.Fill(ds,"Resources_Required");
DataTable dt = ds.Tables["Resources_Required"];
foreach (DataRow ro in dt.Rows)
{
if (ro["Resources"].ToString() == resources)
{
ro.Delete();
break;
}
}
adp.Update(ds,"Resources_Required");
listBox1.DataSource = ds.Tables[0];
listBox1.DisplayMember = "Resources";
listBox1.ValueMember = "Resources";
cboresources.Focus();
立即尝试.
Try now.