日期:2014-05-19  浏览次数:20464 次

c#操作access插入失败..急.
string   strConn   =@ "   Provider   =   Microsoft.Jet.OLEDB.4.0   ;   Data   Source=c:\db.mdb;   ";
                OleDbConnection   myConn   =   new   OleDbConnection(strConn);
                myConn.Open();
                string   strInsert   =   "   INSERT   INTO   user   (   用户名   ,   密码   ,   联系地址   ,   Email地址   ,   手机   )   VALUES   (   ";
                strInsert   +=   this.tbusername   .Text   +   ",   ' ";
                strInsert   +=   this.tbpwd1   .Text   +   " ',   ' ";
                strInsert   +=   this.tbaddress   .Text     +   " ',   ";
                strInsert   +=   this.tbemail   .Text     +   ",   ";
                strInsert   +=   this.tbphone   .Text     +   ") ";
                OleDbCommand   inst   =   new   OleDbCommand(strInsert,   myConn);
                inst.ExecuteNonQuery();
                myConn.Close();

------解决方案--------------------
tbusername 前面少了 '号 如果还不行,就有可能是权限问题。
------解决方案--------------------
慕白兄正解
好象在遇到使用系统保留字的时候需要在表名和字段名上加[]

------解决方案--------------------
tbusername 前面少了 '号
------解决方案--------------------
hou面少了 '号

------解决方案--------------------
access 不能被其他文件打开,
用完的datareader要关闭。
------解决方案--------------------
你最好将各字段类型说一下,如果全是字符型的你少了几个单引号,代码应为:

string strConn =@ " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source=c:\db.mdb; ";
OleDbConnection myConn = new OleDbConnection(strConn);
myConn.Open();
string strInsert = " INSERT INTO user ( 用户名 , 密码 , 联系地址 , Email地址 , 手机 ) VALUES ( ' ";
strInsert += this.tbusername .Text + " ', ' ";
strInsert += this.tbpwd1 .Text + " ', ' ";
strInsert += this.tbaddress .Text + " ', ' ";
strInsert += this.tbemail .Text + " ', ' ";
strInsert += this.tbphone .Text + " ') ";
OleDbCommand inst = new OleDbCommand(strInsert, myConn);
inst.ExecuteNonQuery();
myConn.Close();

------解决方案--------------------
user 是不是也应该改成 [user]