C# 向Access数据库插入数据时提示INSERT INTO语法错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 向Access数据库插入数据时提示INSERT INTO语法错误相关的知识,希望对你有一定的参考价值。

string strConnection = ConfigurationManager.ConnectionStrings["Ecological_safety_evaluate.Properties.Settings.ESESdb1ConnectionString"].ConnectionString;
OleDbConnection cn = new OleDbConnection(strConnection);
cn.Open();
string strSqlReg = "INSERT zhibiaoshuju (订单号,年份,地区,数量) values( '" + (recordnumber.Rows.Count + 1) + "','" + yearCBox.Text + "','" + cityCBox.Text + "','" + TBoxD1.Text + "')";
OleDbCommand cmd = new OleDbCommand(strSqlReg, cn);
cmd.ExecuteNonQuery();

程序运行后提示:INSERT INTO语法错误!这是为什么?怎么改正?求大侠们教教小弟!

应该是insert into 少了into
string strSqlReg = "INSERT into zhibiaoshuju (订单号,年份,地区,数量) values( '" + (recordnumber.Rows.Count + 1) + "','" + yearCBox.Text + "','" + cityCBox.Text + "','" + TBoxD1.Text + "')";追问

string strSqlReg = "INSERT zhibiaoshuju (记录号,年份,城区,人口密度(人/km2)) values( '" + (recordnumber.Rows.Count + 1) + "','" + yearCBox.Text + "','" + cityCBox.Text + "','" + TBoxD1.Text + "')";
我这样写了之后还是提示:INSERT INTO语法错误!这是为什么?

追答

insert 后面要加into 你没有加啊

参考技术A 难道insert 之后没有into 关键子么?追问

我是这样写的:string strSqlReg = "INSERT INTO zhibiaoshuju (记录号,年份,城区,人口密度(人/km2)) values( '" + (recordnumber.Rows.Count + 1) + "','" + yearCBox.Text + "','" + cityCBox.Text + "','" + TBoxD1.Text + "')";

追答

你该吧into 写在values之前

参考技术B 数据库中字段最好不要用中文 参考技术C 你现在数据库里测试下sql对不对

以上是关于C# 向Access数据库插入数据时提示INSERT INTO语法错误的主要内容,如果未能解决你的问题,请参考以下文章

无法通过 C# oledb 将记录插入 MS Access

C# 通过C#代码向Access数据库批量插入数据

使用 C# windows 窗体向 Ms Access 数据库插入新记录时出现语法错误

尝试从 C# 插入 Access 数据库时数据类型不匹配

C# 将表单中的数据插入访问数据库

关于ACCESS数据库插入或更新数据的溢出问题