【发布时间】:2018-09-02 02:14:11
【问题描述】:
我正在尝试删除我的数据库表中的一条记录。我正在尝试根据下拉列表中的选定名称将其删除。当我调试我的代码时,数据集中没有任何可用记录,并且出现异常“列名无效”,而如果我在 SQL Server 中运行相同的查询,一切似乎都很好。
这是我的代码:
protected void SubCategory_Delete_Click(object sender, EventArgs e)
{
try
{
var conn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\template_castle.mdf;Integrated Security=True");
var adpt = new SqlDataAdapter("Select * from tc_prod_subcategory where subcategory_name = ' ' "+ DropDownList2.SelectedItem.Value, conn);
var ds = new DataSet();
adpt.Fill(ds, "tc_prod_subcategory");
foreach (DataRow dr in ds.Tables["tc_prod_subcategory"].Rows)
{
dr.Delete();
}
SqlCommandBuilder build = new SqlCommandBuilder(adpt);
adpt.Update(ds, "tc_prod_subcategory");
Updatesubcategorygrid();
updatedelete_dropdown();
Lblsub_catdelete.Text = "Deleted Successfully";
}
catch(Exception ex)
{
Lblsub_catdelete.Text = ex.Message;
}
}
当我在 SQL Server 2014 中运行它时,这是同一个查询;一切正常:
Select *
from tc_prod_subcategory
Where subcategory_name= 'Favicon'
【问题讨论】:
-
只使用参数化查询。要找出它不工作的原因,您可以打印出
"Select * from tc_prod_subcategory where subcategory_name = ' ' "+ DropDownList2.SelectedItem.Value的结果
标签: c# sql sql-server