黑马程序员技术交流社区
标题:
在C#程序中 写入数据库数据时总是出错
[打印本页]
作者:
崔楠
时间:
2012-4-13 21:18
标题:
在C#程序中 写入数据库数据时总是出错
string sql = "insert into Student(学号,姓名,专业)values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"')";
OleDbConnection dbCon = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=StudentInfo.mdb");
dbCon.Open();
OleDbCommand cmd = dbCon.CreateCommand();
cmd.CommandText = sql;
int result = cmd.ExecuteNonQuery();
if (result == 1)
MessageBox.Show("写入成功!");
else
MessageBox.Show("写入失败!");
dbCon.Close();
数据库是Access 数据表中有三个字段 分别是学号、姓名、专业 ;在调试运行的时候总是提示说“查询值的数目与目标字段中的数目不同”请问是这么回事
作者:
林其响
时间:
2012-4-13 22:01
insert into Student(学号,姓名,专业) 中间的逗号你是在中文输入法下输入的 所以出错了 O(∩_∩)O哈哈~
作者:
王雪磊
时间:
2012-4-14 09:23
试试这样,把Access的字段加上引号,或者是换成字母组合的
string sql = "insert into Student(‘学号','姓名','专业')values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"')";
OleDbConnection dbCon = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=StudentInfo.mdb");
dbCon.Open();
OleDbCommand cmd = dbCon.CreateCommand();
cmd.CommandText = sql;
int result = cmd.ExecuteNonQuery();
if (result == 1)
MessageBox.Show("写入成功!");
else
MessageBox.Show("写入失败!");
dbCon.Close();
作者:
邱国
时间:
2012-4-14 10:14
首先建议下你数据库表的字段名称最好不要用中文啦,养成这个习惯,然后根据你的问题,我建议就先string sql = "insert into Student values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"')"; ,表后不要加具体插入的列,这样就可以测试到底是什么问题,
要学会一个个排除问题
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2