列名'XX'无效???
想用ASP.net作个二级联动菜单,设第一个下拉框为A,第二个下拉框为B,也就是B中的值随选中的A的值,而变..
调用函数采用:
private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
{
string memberpart = DropDownList1.SelectedItem.Text.ToString();
DataSet ds2 = back1.MemberName(memberpart);
DropDownList2.DataSource = ds2.Tables[0].DefaultView;
DropDownList2.DataTextField = "Username";
DropDownList2.DataValueField = "Id";
DropDownList2.DataBind();
}
设了中断试了下,假设我在A框也就是DropDownList1中选的是"美国";memberpart="美国";没有问题,继续往下..
back1类中:
public static DataSet MemberName(string memberpart)
{
string Sql = "select Username,Id from U_login where U_part=" + memberpart;
DataSet dss = SQLHelper.ExecuteDataset(Sql);
return dss;
}
没有问题,一切正常,继续往下..
SQLHelper类中:
public static DataSet ExecuteDataset(string aaa)
{
SqlCommand cmd = new SqlCommand(aaa);
cmd.Connection = ICon.Conn;
cmd.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet dss = new DataSet();
da.Fill(dss);
ICon.Close();
return dss;
}
看了aaa的值,正常,sql语句传过来了,就是"select Username,Id from U_login where U_part=美国"
但是在da.Fill(dss);的地方报错了..
错误如下:
列名 '美国' 无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 列名 '美国' 无效。
源错误:
行 46: SqlDataAdapter da = new SqlDataAdapter(cmd);
行 47: DataSet dss = new DataSet();
行 48: da.Fill(dss);
行 49: ICon.Close();
行 50: return dss;
这是什么情况,怎么回事啊???