asp.net 列名无效。

来源:百度知道 编辑:UC知道 时间:2024/06/11 11:12:29
//方法
public DataTable gyshz(string jxclx,string gysmc,string mc)
{
string SqlString = "select 名称,业务名称,sum(装车数量) as 总装车,sum(卸车数量) as 总卸车,sum(涨亏) as 总涨亏 from 采购 where 状态='是' and 类型='" + jxclx + "' and " + mc + " = '" + gysmc + "' group by 名称,业务名称 ";
conn MyDb1 = new conn();
return MyDb1.DT(SqlString);
MyDb1.close();
}

//调用
protected void Button2_Click(object sender, EventArgs e)
{
string jxclx = Label4.Text;
string mc = Label5.Text;
string gysmc = DropDownList1.Text;

chaxun cx = new chaxun();
GridView1.DataSource = cx.gyshz(jxclx,mc,gysmc);
GridView1.DataBind();
}
" + mc + " = '" + gysmc + "' 好像这句出的问题 可是找不出来哪错的 麻烦各位 !!! asp.net中SQL列名能用变量代替吗???

认是认出来了 变量GYSMC得出的值 提示列名无效 如果MC直接用

SQL列名无所谓变量不变量,反正执行SQL语句的时候整条语句能被认懂就行,你调试一下吧,看看代进去的变量是不是你要的那些

检查SQL语句中的列名称是否有出入

再里面输出来看下就知道了,还不行就把输出的SQL复制到数据库里面查询一下就行了··

把这个"+ mc + " = '" + gysmc + "'
改为:'"+ mc + "' = '" + gysmc + "'
就没问题了,少了一对单引号

列名要加单引号,over......