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

至少一个参数没有被指定值
帮忙看看下面的代码那里错了。

代码:  
            public int Execute(string str)
            {
                OleDbCommand Comm = new OleDbCommand(str, Conn);
                int R = Comm.ExecuteNonQuery();      错误提示信息:至少一个参数没有被指定值。
                Comm.Dispose();
                return R;
            }

在下查了查msdn,“ExecuteNonQuery()”中并没有参数值啊,这是怎么回事?
------解决方案--------------------
贴出str看看

------解决方案--------------------
应该不是ExecuteNonQuery(); 方法的参数,而是SQL语句本身的参数!
你确定mc_yyg,dh_yyg,dz_yyg这三个参数都指定的值了吗?
------解决方案--------------------
sql 语句错误。
必要的情况下 加 [mc] 类似。
------解决方案--------------------
string sql = "insert into jbxxb(mc,dh,dz) values(mc_yyg,dh_yyg,dz_yyg)";
mc_yyg,dh_yyg?
字符串'"+dh_yyg+"'
------解决方案--------------------
dh_yyg是变量,实际用的是里面的值,它本身不是SQL语句的一部分!这时候要加!
------解决方案--------------------
举个例子 比如dh_yyg不是字符串类型。但实际输入时需要字符串类型的需要手动给dh_yyg加上‘’
------解决方案--------------------
根据类型实现操作如日期#

------解决方案--------------------
你的OleDbConnection对象open了没有啊?
------解决方案--------------------
数据库字段类型
------解决方案--------------------
连接数据库成功没有?你把全部代码贴上来看看?