ODBC调用存储过程问题,麻烦朋友们帮帮忙. cmd.CommandText = "up_shizeLastBm";==>cmd.CommandText = "up_shizeLastBm @em, @ddate, @io"; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 按照 athossmth(athos),报如下的错误ERROR [HY000] [INTERSOLV][ODBC SQL Server driver][SQL Server]Must declare variable '@em'. UP + 学习 + 接分UP + 学习 + 接分UP + 学习 + 接分 用这种格式调用试试OdbcCommand cmd = new OdbcCommand("{ ? = CALL up_shizeLastBm(?, ?, ?) }", dbconnection); 问题解决了DateTime dt = new DateTime(2005,1,10);OdbcCommand cmd = new OdbcCommand();cmd.Connection = dbconnection;cmd.CommandText = "exec up_shizeLastBm ?,?,?,?";cmd.CommandType = CommandType.StoredProcedure;cmd.Parameters.Add("@em",OdbcType.Int);cmd.Parameters[0].Value = 40;cmd.Parameters.Add("@ddate",OdbcType.DateTime);cmd.Parameters[1].Value = dt;cmd.Parameters.Add("@io",OdbcType.Int);cmd.Parameters[2].Value = 1;cmd.Parameters.Add("@lastbm",OdbcType.Double);cmd.Parameters[3].Direction = ParameterDirection.Output;cmd.ExecuteNonQuery();double num = Convert.ToDouble(cmd.Parameters[3].Value);MessageBox.Show(num.ToString());多谢各位. C# udp 监听所有端口问题 C#有什么方法可以把dataset的数据新增加到同列数且已有数据的datagridview中,而不是覆盖 诚求! 面向对象 思想 C#报表编程更改文本对象或者其他对象 js 的简单问题 Form Designer的问题 C#动态调用C DLL时报错“尝试读取或写入受保护的内存” C#做隐藏进程的方法 如何将string[],DataTable,文本框分别绑定到DataGrid的一个列 菜鸟基本问题?DataGrid Asp.Net服务异步中回调方法怎么无法使用主界面上控件的TreeView.Nodes.Add()方法? 请教:如何用程序直接打开这样的网页!
ERROR [HY000] [INTERSOLV][ODBC SQL Server driver][SQL Server]Must declare variable '@em'.
OdbcCommand cmd = new OdbcCommand("{ ? = CALL up_shizeLastBm(?, ?, ?) }", dbconnection);
OdbcCommand cmd = new OdbcCommand();
cmd.Connection = dbconnection;
cmd.CommandText = "exec up_shizeLastBm ?,?,?,?";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@em",OdbcType.Int);
cmd.Parameters[0].Value = 40;
cmd.Parameters.Add("@ddate",OdbcType.DateTime);
cmd.Parameters[1].Value = dt;
cmd.Parameters.Add("@io",OdbcType.Int);
cmd.Parameters[2].Value = 1;
cmd.Parameters.Add("@lastbm",OdbcType.Double);
cmd.Parameters[3].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
double num = Convert.ToDouble(cmd.Parameters[3].Value);
MessageBox.Show(num.ToString());多谢各位.