JS调用后台数据库查询函数 返回结果为NULL的问题
为了在前台调用DataTable型数据用了AjaxPro.dll
JS代码:
dttemp=_Default.NodesRelation(nodeid).value;//_Default为类名
后台:
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
}
[AjaxPro.AjaxMethod]
public DataTable NodesRelation(string nodeid)
{
sql = "select * from RoadNodeRelation where ID = '" + nodeid + "'";
dt = SQL.selectCmd(sql);
return dt;
}
调试的时候发现后台函数根本就不执行NodesRelation函数,直接返回了null。如果去掉参数进行无参数的数据库操作返回的结果是正确的。
[解决办法]
sql = "select * from RoadNodeRelation where ID = '" + nodeid + "'";
一般这样写
sql = "select * from RoadNodeRelation where ID = " + nodeid;
id字段一般是数字类型的