SOS,我遇到一个最简单插入数据的错误
我刚开始初学C#,想在数据库中插入一条新数据,可怎么搞也不行,请各位高手帮忙看一看,能给出正确源码最好,非常感谢!
我用两个文本框name和pass接受输入,并存储.
代码如下:
private void Button1_Click(object sender, System.EventArgs e)
{
string strConn;
string bmnew;
OleDbConnection cn;
OleDbCommand cmd;
strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("/WebApplication1/da/bm.mdb");
cn=new OleDbConnection(strConn);
bmnew="insert into exam values('"+name.Text+"','"+pass.Text+"')";
cn.Open();
cmd=new OleDbCommand(bmnew,cn);
cmd.ExecuteNonQuery();
Label1.Text="添加成功";
}
点击按钮后出现的错误提示信息:"操作必须使用一个可更新的查询。"
问题点数:50、回复次数:12Top
1 楼The123(Shall We Dance? :))回复于 2004-09-03 10:00:58 得分 0
bm.mdb那个文件的属性是只读的吧?:)Top
2 楼gxlxgyb_37(阿甘)回复于 2004-09-03 10:02:39 得分 0
不会吧?还有别的原因吗Top
3 楼brightheroes(在地狱中仰望天堂)回复于 2004-09-03 10:03:56 得分 0
http://community.csdn.net/Expert/topic/3054/3054501.xml?temp=.4695856Top
4 楼gesnpt(gesnpt)回复于 2004-09-03 10:04:46 得分 25
"insert into exam(name,pass) values('"+name.Text+"','"+pass.Text+"')"Top
5 楼Seeko0(阿 枫(终点又回到起点,到现在我才发现))回复于 2004-09-03 10:05:49 得分 25
//insert into exam values('"+name.Text+"','"+pass.Text+"')";
//这种写法表示数据库表中只有两个字段需要输入
//最好写全
insert into exam([Name],[Password]) values('"+name.Text+"','"+pass.Text+"')";
Top
6 楼yingshis(英石)回复于 2004-09-03 10:07:18 得分 0
upTop
7 楼jijl2001(jijl2001)回复于 2004-09-03 10:08:52 得分 0
对,写全试试Top
8 楼gxlxgyb_37(阿甘)回复于 2004-09-03 10:10:08 得分 0
竟然搞掂了,谢谢,散分Top
9 楼gxlxgyb_37(阿甘)回复于 2004-09-03 10:10:31 得分 0
总算拾起了点学习的兴趣和信心,谢谢大家Top
10 楼meilixueshan2009(213211)回复于 2004-09-03 10:10:59 得分 0
好象应该是("../WebApplication1/da/bm.mdb");
或者("WebApplication1/da/bm.mdb");Top
11 楼nk912114(ktf)回复于 2004-09-03 10:11:10 得分 0
将
bmnew="insert into exam values('"+name.Text+"','"+pass.Text+"')";
改为:
bmnew="insert into exam(name,pass) values('"+name.Text+"','"+pass.Text+"')";
Top
12 楼jamzh(Show me the money!!!)回复于 2004-09-03 10:12:45 得分 0
SQL语句中应该注明你要插入的字段名和值
insert into exam([LoginName],[Password]) values('"+name.Text+"','"+pass.Text+"')";
如果还是不行那就有可能是你没有权限访问数据库文件或者文件为只读属性Top




