asp.net中住数据库里插入数据时错误!

来源:百度知道 编辑:UC知道 时间:2024/05/18 03:56:41
数据库名为:%%information.abc%%
表名:user
字段有:nc,pwd,sex,xy,jg,qq

代码为:
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" + Server.MapPath(".") + "/App_Data/%%information.abc%%");

con.Open();

OleDbCommand cmd = new OleDbCommand("insert into user(nc,pwd,sex,xy,jg,qq) values('" + txtnc.Text + "','" + txtpwd.Text + "','" + RadioButtonList1.Text + "','" + dropxy.Text + "','" + DropDownList1.Text + "','" + txtqq.Text + "')", con);

cmd.ExecuteNonQuery();
con.Close();

错误原因为:
当执行到 cmd.ExecuteNonQuery();时提示insert into语法错误!
数据库的字段类型和网页上的控件都是文本型

可是我这个代码在别处都可执行,为什么这里不行??高手请教!!

user是关键字,要吗换个表名,要吗用[user]把user用[]套起来表示表名.

insert into user后面要有一个空格,values后面也要有个空格,我当初也经常被这样的问题困扰,检查这种错误的最好办法是把得到的最终SQL语句显示在屏幕上,或者设置断点,查看这个字符串到底是什么,祝哥们儿好运

以上朋友说的在理,我也碰过,但还有一点,不知是否大家碰过,不成功是因为插入时的字段和表的字段数目不同,比如表的日期就可以用默认值,做代码时不要另写,但添加数据时会出错。后来用匹配参数的参数的形式才解决

OleDbCommand cmd = new OleDbCommand("insert into user(nc,pwd,sex,xy,jg,qq) values('" + txtnc.Text + "','" + txtpwd.Text + "','" + RadioButtonList1.Text + "','" + dropxy.Text + "','" + DropDownList1.Text + "','" + txtqq.Text + "')", con);

你的DropDownList获取值,不应该直接是.Text应该是DropDownList1.SelectedItem.Text获取选中项的文本或是
DropDownList.SelectedValue获取选中项的值

上面兄弟说对了,DropDownList1和 RadioButtonList1,在接受它值的时候。都不能这样写。DropDownList.SelectedValue获取选中项的值,
RadioButtonList1也如此