我建立了一个Access数据库,但是每次执行的时候总是出现不能向数据库中插入记录的问题,请问该怎办呢?
(sql语句测试是正确的,权限问题我也解决了)
每次一执行,就会报错,我的哪个as.mdb文件旁边就多一个as.ldb文件,这样这个数据库一直就被锁住了,删也删不掉 
请高手指点

解决方案 »

  1.   

    建立之后要及时进行释放才可以不被锁住。
    cn.Close()
    cn.Disposed();
    cn=null;
    总之释放所有用到的东西
      

  2.   

    报什么错?
    .ldb 文件是个临时文件,只要打开.mdb文件就会自动生成一个.ldb文件,关闭.mdb文件之后,程序会自动删除.ldb文件的.
      

  3.   

    这是我的数据库操作类的方法:
    public void ExecuteNonSql(string sql)
    {
    con=new OleDbConnection(conStrings);
    OleDbCommand cmd=new OleDbCommand(sql,con);
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
    con.Dispose();
    con=null;

    }这是我的报错信息:
    insert into bbs_user (username,realname,password,email,homepage,address,school,qq,sex,country,joindate,image,ipaddress,question,result,telephone,mobile) values ('7777777','7777777','7777777','7777777','7777777','7777777','7777777','7777777','男','7777777','2004-11-7 11:13:32','01.gif','127.0.0.1','77777777777777','7777777','7777777','7777777')INSERT INTO 语句的语法错误。
    System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。 at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteNonQuery() at mybbs.AccessDB.ExecuteNonSql(String sql) in c:\inetpub\wwwroot\mybbs\idatabase.cs:line 84 at mybbs.register.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\mybbs\register.aspx.cs:line 83 
    为什么还是出错呢?
    各位帮帮忙
      

  4.   

    username,realname,password其中之一有键字,具体哪自己用中括号括起来试试
      

  5.   

    同意keminlau(阿文),access中的保留关键字username、password在使用时加括号,[username]、[password]。
      

  6.   

    可能是关键字password的问题,把password字段改为其它的名字就可以了
      

  7.   

    应该不是password的问题,
    我想最有可能的是,你在插入的时候,数据库正在被你打开着呢
      

  8.   

    可能是关键字password的问题,把password字段改为其它的名字就可以了
      

  9.   

    如果.ldb文件一直出现,说明你操作完数据后没有正常关闭数据连结,请保证 Connection.Open();
    和 Connection.Close()成对出现,或是把语句写道try...catch...finally块中,在finally中加Connection.Close();