求解c#中:至少一个参数没有被指定值。是不是Insert插入语句的错误啊,非常谢谢 啊

stringmypath=Application.StartupPath+"\\mydata.accdb";//连接数据库的路径及数据库名stringconstr="Pr... string mypath = Application.StartupPath + "\\mydata.accdb"; //连接数据库的路径及数据库名
string constr = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source =" + mypath; //生成连接数据库字符串
OleDbConnection mycon = new OleDbConnection(constr); //定义OleDbConnection对象实例并连接数据库
mycon.Open();
//Insert插入语句
string myinsert = "insert into person(用户名,车牌号,地址) values ( '" + textBox1.Text.ToString () + "','" + textBox2.Text.ToString () + "'," + textBox3.Text.ToString () + ")";

OleDbCommand mycom = new OleDbCommand(myinsert, mycon); //定义OleDbCommnad对象并连接数据库
mycom.ExecuteNonQuery(); //执行插入语句
mycon.Close(); //关闭对象并释放所占内存空间
mycon.Dispose();
MessageBox.Show("已成功向数据库表中插入一条记录!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
name = textBox1.Text;
number = textBox2.Text;
address = textBox3.Text;
展开
 我来答
wangshuaisupin
2011-06-15 · TA获得超过1884个赞
知道小有建树答主
回答量:805
采纳率:100%
帮助的人:1242万
展开全部
你的地址字段应该是文本吧,后面的值没有用单引号括起来
Insert插入语句应为:
string myinsert = "insert into person(用户名,车牌号,地址) values ( '" + textBox1.Text.ToString () + "','" + textBox2.Text.ToString () + "','" + textBox3.Text.ToString () + "')";
追问
的确是文本,可是当前两个参数在实例化的时候可以输入任何字符,第三个只能输入数字,我试过添加单引号,可是第三个输入什么字符都会报错:报错的原因变为形参与实参个数不一样,谢谢多帮我看看啊
追答
string myinsert = "insert into person(用户名,车牌号,地址) values ( '" + textBox1.Text.ToString () + "','" + textBox2.Text.ToString () + "','" + textBox3.Text.ToString () + "')";
这句这样写是没有问题的,你要确保三个文本框输入的内容里不能有'单引号,否则肯定会报错的!
百度网友9278dbf
2011-06-15 · TA获得超过1124个赞
知道小有建树答主
回答量:457
采纳率:0%
帮助的人:301万
展开全部
加断点单步执行,看在哪里跳转错误信息
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guofengqiu
2011-06-16 · TA获得超过105个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:133万
展开全部
sql 语句中的" + textBox3.Text.ToString () + "少了一对单引号啊,改成'" + textBox3.Text.ToString () + "'
地址肯定是字符串。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
石高飞1
2011-06-25 · TA获得超过560个赞
知道小有建树答主
回答量:301
采纳率:0%
帮助的人:246万
展开全部
注意一下类型,你确定车牌号是不是数字
在Access中数字的参数不要加单引号的。。。
比如string myinsert = "insert into person(用户名,车牌号,地址) values ( '" + textBox1.Text.ToString () + "'," + textBox2.Text.ToString () + ",‘" + textBox3.Text.ToString () + "’)";
而文本是要加单引号的

参考资料: 原创

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式