至少一个参数没有被指定值

yishuihepan002 2010-10-04 07:29:59
帮忙看看下面的代码那里错了。

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

在下查了查msdn,“ExecuteNonQuery()”中并没有参数值啊,这是怎么回事?
...全文
233 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
love_xiaoguogai 2012-12-15
  • 打赏
  • 举报
回复
Imports System Imports System.Data Imports System.Data.OleDb Public Class 登录界面 Public gzkh As String '工作卡号 对应医师号 Public gzkl As String '工作口令 Public gzry As String '工作人员 Public myconn As OleDbConnection Public connstr As String ' Public myselect As String '打开数据库表 Public Sub opensjkb() 'dim connstr = "Provider=Microsoft.Jet.OleDB.4.0;Data Source=.\住院医生工作站数据.mdb" myconn = New OleDbConnection(connstr) myconn.Open() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Hide() 更改口令.Show() End Sub '确定登录 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If TextBox3.Text = "" Or TextBox1.Text = "" Or TextBox2.Text = "" Then MsgBox("信息不完整,请将信息填写完整") Else Call opensjkb() '调用住院医生表 gzkh = TextBox3.Text gzkl = TextBox1.Text gzry = TextBox2.Text Dim myselect As String = "select top 1 * from 住院医生 where 医师号='" & gzkh & " 'and 工作口令='" & gzkl & " ' and 医生姓名='" & gzry & " '" Dim mycommd As OleDbCommand = New OleDbCommand(myselect, myconn) mycommd.ExecuteNonQuery() Dim myreaders As OleDbDataReader = mycommd.ExecuteReader() If myreaders.Read() = True Then gzkh = TextBox3.Text gzkl = TextBox1.Text Me.Hide() zyysgzz.Show() Else MsgBox("工作卡号或者工作口令错误,请重新输入") End If myconn.Close() End If End Sub mycommd.ExecuteNonQuery() 至少一个参数没有被指定值。 是什么问题呢?
yishuihepan002 2010-10-05
  • 打赏
  • 举报
回复
字段类型
id:自动编号
mc、dh、dz:文本类型
tangjubin 2010-10-05
  • 打赏
  • 举报
回复
连接数据库成功没有?你把全部代码贴上来看看?
yishuihepan002 2010-10-05
  • 打赏
  • 举报
回复
ID:自动编号
mc、dh、dz都是文本字段。。。
wuyq11 2010-10-04
  • 打赏
  • 举报
回复
数据库字段类型
tangjubin 2010-10-04
  • 打赏
  • 举报
回复
你的OleDbConnection对象open了没有啊?
yishuihepan002 2010-10-04
  • 打赏
  • 举报
回复
谢谢你们。但是,还是请各位大侠帮忙看看吧,编译时通过了。但是,并没有将信息加入到数据库中啊。

有劳看看那里还存在错误吗?
wuyq11 2010-10-04
  • 打赏
  • 举报
回复
根据类型实现操作如日期#
yishuihepan002 2010-10-04
  • 打赏
  • 举报
回复
谢谢你们。但是,还是请各位大侠帮忙看看吧,编译时通过了。但是,并没有将信息加入到数据库中啊。
wulala789 2010-10-04
  • 打赏
  • 举报
回复
举个例子 比如dh_yyg不是字符串类型。但实际输入时需要字符串类型的需要手动给dh_yyg加上‘’
jbo126 2010-10-04
  • 打赏
  • 举报
回复
dh_yyg是变量,实际用的是里面的值,它本身不是SQL语句的一部分!这时候要加!
yishuihepan002 2010-10-04
  • 打赏
  • 举报
回复
谢谢,你们问题解决了。但是,在下还是有点疑问。
到底什么时候'"+dh_yyg+"',什么时候又不加引号呢?
wuyq11 2010-10-04
  • 打赏
  • 举报
回复
string sql = "insert into jbxxb(mc,dh,dz) values(mc_yyg,dh_yyg,dz_yyg)";
mc_yyg,dh_yyg?
字符串'"+dh_yyg+"'
yishuihepan002 2010-10-04
  • 打赏
  • 举报
回复
这段的所有代码:
private void YYGSZ_Click(object sender, EventArgs e)
{
//提交信息
string mc_yyg = MC_YYG.Text;
string dh_yyg = DH_YYG.Text;
string dz_yyg = DZ_YYG.Text;
string sql = "insert into jbxxb(mc,dh,dz) values(mc_yyg,dh_yyg,dz_yyg)";
AccessDB access = new AccessDB();
int add = access.Execute(sql);
if (add > 0)
{
MessageBox.Show("提交成功", "提示框");
}
else
{
MessageBox.Show("提交失败","提示框");
}
access.Dispose();


}
jiangqinggao 2010-10-04
  • 打赏
  • 举报
回复
sql 语句错误。
必要的情况下 加 [mc] 类似。
jbo126 2010-10-04
  • 打赏
  • 举报
回复
应该不是ExecuteNonQuery(); 方法的参数,而是SQL语句本身的参数!
你确定mc_yyg,dh_yyg,dz_yyg这三个参数都指定的值了吗?
yishuihepan002 2010-10-04
  • 打赏
  • 举报
回复
str是:
string sql = "insert into jbxxb(mc,dh,dz) values(mc_yyg,dh_yyg,dz_yyg)";
wuyq11 2010-10-04
  • 打赏
  • 举报
回复
贴出str看看

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧