首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

access数据库插入方法报错,该怎么解决

2013-07-08 
access数据库插入方法报错public class AccessDB{public enum HandleFlag { Insert, Delete, Update }//p

access数据库插入方法报错


public class AccessDB
    {
            public enum HandleFlag { Insert, Delete, Update };
            //private String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
            //        " Data Source= " + AppDomain.CurrentDomain.BaseDirectory +
            //        "\\Resources\\PrivateFinance.accdb";
            private OleDbConnection connection = null;
            private OleDbCommand command = null;
            int num = 0;

            public AccessDB()
            { }

            //增加access数据库的路径的构造函数
            private OleDbConnection BuildAccessDB(String Uri)
            {
                #region 打开连接,操纵数据库
                String connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" +
                    " Data Source= " + Uri + "Resources\\PrivateFinance.accdb";
                connection = new OleDbConnection(connectionString);
                try
                {
                    connection.Open();
                }
                catch (Exception e)
                {


                    Console.WriteLine(e.Message);
                }
                return connection;
                #endregion

            }

            public void DBInsert(String str,String uri)
            #region 插入数据
            {
                connection = BuildAccessDB(uri);
                command = new OleDbCommand(str, connection);
                num = command.ExecuteNonQuery();
            }
            #endregion
     }

access insert?into
[解决办法]
这个代码问题严重啊,数据连接都没有关闭。具体的异常信息是什么呢?
要么数据连接没成功打开,要么就是你的sql语句有错。自己查下。
[解决办法]
是不是连接字符出问题了。
   String connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" +
                    " Data Source= " + Uri + "Resources\\PrivateFinance.accdb";

Uri后面是否有\\这个如果没有 Resources前面 加 \\Resources

  String connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" +
                    " Data Source= " + Uri + "\\Resources\\PrivateFinance.accdb";



[解决办法]

引用:
各位我已经解决了该问题了。解决方法是 insert into [表名] …… 加上中括号就行了。只是不明白为什么要在代码的表名上加上[],因为我直接把没有中括号的语句在access上执行是可以执行的。

你用了系统用的名字了吧,别和系统抢名字用!

热点排行