日期:2014-05-17  浏览次数:20515 次

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字段一般是数字类型的