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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)