求解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; 展开
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; 展开
4个回答
展开全部
你的地址字段应该是文本吧,后面的值没有用单引号括起来
Insert插入语句应为:
string myinsert = "insert into person(用户名,车牌号,地址) values ( '" + textBox1.Text.ToString () + "','" + textBox2.Text.ToString () + "','" + textBox3.Text.ToString () + "')";
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 () + "')";
这句这样写是没有问题的,你要确保三个文本框输入的内容里不能有'单引号,否则肯定会报错的!
展开全部
加断点单步执行,看在哪里跳转错误信息
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql 语句中的" + textBox3.Text.ToString () + "少了一对单引号啊,改成'" + textBox3.Text.ToString () + "'
地址肯定是字符串。。。。。
地址肯定是字符串。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
注意一下类型,你确定车牌号是不是数字
在Access中数字的参数不要加单引号的。。。
比如string myinsert = "insert into person(用户名,车牌号,地址) values ( '" + textBox1.Text.ToString () + "'," + textBox2.Text.ToString () + ",‘" + textBox3.Text.ToString () + "’)";
而文本是要加单引号的
在Access中数字的参数不要加单引号的。。。
比如string myinsert = "insert into person(用户名,车牌号,地址) values ( '" + textBox1.Text.ToString () + "'," + textBox2.Text.ToString () + ",‘" + textBox3.Text.ToString () + "’)";
而文本是要加单引号的
参考资料: 原创
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询