在做一个单机项目,使用教小的Access数据库,以前没用过。。现在在插入的时候出现以下异常:
在 System.Data.OleDb.OleDbException 中第一次偶然出现的“System.Data.dll”类型的异常
PS:不信任位置已经消除;请问怎么解决:
在查询的时候出现这个异常:
未将对象引用设置到对象的实例。部分代码:
this.DGCheck.DataSource = DBTools.EDS("select * from Nutrition").Tables[0];  public static DataSet EDS(string sql)
       {
           try
           {
           conn.Open();
             OleDbDataAdapter ds= new  OleDbDataAdapter(sql,conn);
               DataSet dt= new DataSet();
               ds.Fill(dt);
               return dt;
           }
           catch(Exception e)
           {
               return null;
           }finally
           {
           conn.Close();
           }
       
       }请指点了

解决方案 »

  1.   

     catch(Exception e) 
              { 
                  return null; 
              }
    不要吞掉异常看看这个异常说的是啥玩意
      

  2.   

    System.Data.OleDb.OleDbException: 'D:\My Documents\Visual Studio 2008\wordOperation\wordOperation\bin\Debug\wordOperation\DataBase\Database1.accdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
       在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
       在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
       在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
       在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
       在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
       在 System.Data.OleDb.OleDbConnection.Open()
       在 wordOperation.DBTools.EDS(String sql) 位置 D:\My Documents\Visual Studio 2008\wordOperation\wordOperation\DBTools.cs:行号 53
    在 System.NullReferenceException 中第一次偶然出现的“wordOperation.exe”类型的异常
    “wordOperation.vshost.exe”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll”
      

  3.   

    System.Data.OleDb.OleDbException: 'D:\My Documents\Visual Studio 2008\wordOperation\wordOperation\bin\Debug\wordOperation\DataBase\Database1.accdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
       在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
       在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
       在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
       在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
       在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
       在 System.Data.OleDb.OleDbConnection.Open()
       在 wordOperation.DBTools.EDS(String sql) 位置 D:\My Documents\Visual Studio 2008\wordOperation\wordOperation\DBTools.cs:行号 53
    在 System.NullReferenceException 中第一次偶然出现的“wordOperation.exe”类型的异常
    “wordOperation.vshost.exe”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll”
      

  4.   

    谢谢1楼,确实是路径问题.
    项目存在这个目录下D:\My Documents\Visual Studio 2008\
    名称是:wordOperation
    数据库存在这个目录下:D:\My Documents\Visual Studio 2008\wordOperation\wordOperation\DataBase我要写个个相对地址应该怎么写,我一开始写的是:static string dbs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @"wordOperation\DataBase\Database1.accdb";
      

  5.   

    我把地址改为绝对地址,第二个问题就正常了,但是第一个问题还有这个异常: System.Data.OleDb.OleDbException: 至少一个参数没有被指定值。
    在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
       在 System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
       在 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
       在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
       在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
       在 wordOperation.DBTools.ENQ(String sql) 位置 D:\My Documents\Visual Studio 2008\wordOperation\wordOperation\DBTools.cs:行号 20
    在 System.Data.OleDb.OleDbException 中第一次偶然出现的“System.Data.dll”类型的异常
      

  6.   

    this.DGCheck.DataSource = DBTools.EDS("select * from Nutrition").Tables[0]; 
    改称->
    string sqlcommand="select * from Nutrition";
    this.DGCheck.DataSource = DBTools.EDS(sqlcommand).Tables[0];