标题:[求助]SQL报错:被准备语句'...'但未提供该参数.
只看楼主
可恶丑八怪
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-12-12
 问题点数:0 回复次数:4 
[求助]SQL报错:被准备语句'...'但未提供该参数.

SQL语句我在查询分析器上验证过,可以插入成功,但在C#的程序中添加报错,我查不出问题.
所有字段都是char类型,除了主键,其它都可为空.介面最下方的textbox里是我提取的SQL语句,应该没错.它报的'需要参数@客户编号',我也提供了参数了,但还是不行.



[此贴子已经被作者于2006-12-13 21:57:17编辑过]



7ZnQf1Dg.jpg (81.65 KB)
搜索更多相关主题的帖子: SQL 语句 参数 
2006-12-13 00:22
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
我看你图上显示的好像Sql语句有点问题啊,Values的内容好像并不是和 前面一一对应的啊

2006-12-13 08:41
skyland84
Rank: 2
等 级:新手上路
威 望:4
帖 子:544
专家分:0
注 册:2006-10-9
得分:0 
检查下 存储过程!在设置参数时 要注意对于关系!

决定人生~
2006-12-13 10:54
可恶丑八怪
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-12-12
得分:0 

图我又重改了一下,SQL语句我在查询分析器上验证过,可以插入成功.
我这里没用存储过程,像这种功能,必须用存储过程吗.

部分代码:
if(this.comboBox1.Text.Length<1|this.comboBox2.Text.Length<1|this.comboBox3.Text.Length<1|this.comboBox4.Text.Length<1|this.comboBox5.Text.Length<1)
{
MessageBox.Show("客户住址信息必须填写!","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
MessageBox.Show(this.label6.Text);
return;
}
try
{
string StrSQL="INSERT INTO khb(客户编号,客户姓名,住址代码,住址,联系电话,备注)VALUES('";
StrSQL+=this.textBox2.Text+"','";
StrSQL+=this.tb_xingming.Text+"','";
StrSQL+=this.comboBox2.Text+this.comboBox3.Text+this.comboBox4.Text+this.comboBox5.Text+"','";
StrSQL+=this.comboBox1.Text+this.comboBox2.Text+"号楼"+this.comboBox3.Text+"门"+this.comboBox4.Text+"层"+this.comboBox5.Text+"室"+"','";
StrSQL+=this.tb_dianhua.Text+"','";
StrSQL+=this.tb_dianhua2.Text+"')";

textBox1.Text=StrSQL;
//MessageBox.Show(StrSQL);

this.sqlInsertCommand1.CommandText=StrSQL;
this.sqlInsertCommand1.Connection=this.sqlConnection1;
//打开数据库连接
this.sqlConnection1.Open();
//执行SQL命令
this.sqlInsertCommand1.ExecuteNonQuery();
//关闭连接
this.sqlConnection1.Close();
//更新数据集
this.dataSet11.Tables["khb"].Rows[this.MyBind.Position].BeginEdit();
this.dataSet11.Tables["khb"].Rows[this.MyBind.Position].EndEdit();
this.dataSet11.AcceptChanges();

MessageBox.Show("增加数据集记录操作成功!","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
catch(Exception Err)
{
MessageBox.Show("增加数据集记录操作失败:"+Err.Message,"信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);


}





}

[此贴子已经被作者于2006-12-15 23:07:24编辑过]

2006-12-13 21:58
可恶丑八怪
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-12-12
得分:0 
我把代码中的"this.sqlInsertCommand1.CommandText=StrSQL;"直接改成:this.sqlInsertCommand1.CommandText="INSERT INTO khb(客户编号,住址代码, 客户姓名, 住址, 联系电话, 备注)VALUES('12','刘','011104','香水园1号楼1门01层04室','135','262')"
上面语句在查询分析器里插入成功,但在CommandText里传过去就报错,就是我提出问题的那个错,大家看看是什么地方出错了.谢谢.
2006-12-15 23:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-109137-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046355 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved