myqrbl 2014-03-26 02:47 采纳率: 0%
浏览 3086

C#调用MySql存储过程报错,请各位帮忙解答一下

public DataSet GetPagerList(string tableName, string primaryKey, string columns, string whereSql, string sortField, int? pageSize, int? currPage, bool isDesc)
{
MySqlParameter[] param = new MySqlParameter[]{
new MySqlParameter("TableName",tableName),
new MySqlParameter("PrimaryKey", primaryKey),
new MySqlParameter("Columns1", columns),
new MySqlParameter("WhereSql", whereSql),
new MySqlParameter("Sort", sortField),
new MySqlParameter("pagesize", pageSize),
new MySqlParameter("currpage", currPage),
new MySqlParameter("IsDesc", isDesc)
};
//return MySqlHelper_flag.GetDataSet("sp_GetPageRecord", param, "dataset");
return MySqlHelper_flag.GetDataSet(CommandType.StoredProcedure, "sp_GetPageRecord", "dataset", param);

    }

这是传的参数。
try
{
//调用 PrepareCommand 方法,对 MySqlCommand 对象设置参数
PrepareCommand(cmd, conn, null, type, cmdText, param);
//调用 MySqlCommand 的 ExecuteReader 方法
MySqlDataAdapter adapter = new MySqlDataAdapter();
adapter.SelectCommand = cmd;
DataSet ds = new DataSet();
ds.DataSetName = tablename;
adapter.Fill(ds);
//清除参数
cmd.Parameters.Clear();
conn.Close();
return ds;
}
这是调用存储过程的方法。
CREATE DEFINER=root@127.0.0.1 PROCEDURE sp_GetPageRecord(
TableName VARCHAR (500),
PrimaryKey VARCHAR (100),
columns1 VARCHAR (1000),
WhereSql VARCHAR (500),
Sort VARCHAR (100),
pagesize INT,
currpage INT,
IsDesc BIT
)
存储过程的参数定义。
然后在navicat里面call存储过程没有任何问题,同样的参数值。可是由系统传过去调存储过程就会报如下错误。
Parameter '?500' not found in the collection.

请各位帮忙解答,感激不尽 困扰好多天了

  • 写回答

1条回答 默认 最新

  • 拥抱开源 2014-12-26 01:59
    关注

    应该是ado。net链接错误

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算