日期:2014-05-18  浏览次数:21213 次

Fatal error encountered during command execution.错误
运行后出现这个错误,怎么回事啊
public void SelectDatas(string tasktableid,int toid)
  {
  Task task = new Task();
  StringBuilder sa = new StringBuilder();
  sa.Append("select datas");
  sa.Append(" from t_taskdatas,t_taskdata");
  sa.Append(" where t_taskdata.taskdataid=t_taskdatas.taskdataid and t_taskdata.tasktableid=@tasktableid and t_taskdatas.upid=@toid");
  MySqlParameter[] pmts = new MySqlParameter[2];
  pmts[0] = new MySqlParameter("@tasktableid", tasktableid);
  pmts[1] = new MySqlParameter("@upid", toid);
  DataTable dt = DB.getDataTable_Pmts(sa.ToString(), pmts);
  foreach (DataRow dr in dt.Rows)
  {
  task.datas = dr["datas"].ToString();
  aList.Add(task);
  }
  }
这是查询代码,我在数据库里输入上面的SQL语句都可以查出来,可是程序里就总错误,求指点

------解决方案--------------------
StringBuilder sa = new StringBuilder(150);
试试呢?
------解决方案--------------------
参数一般包括:参数名、参数类型、参数值。
从下面这句看
pmts[0] = new MySqlParameter("@tasktableid", tasktableid);
只有参数名和参数值。
你要是确认代码没问题,断点跟踪一下传入的值