2013-05-29 45 views
0
public void SetConnection(string text1, string text2, string text3, string text4, string text5, string text6, string text7) 
    { 
     string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= c:\\Users\\Clients Information pats.mdb"; 


     database = new OleDbConnection(connectionString); 
     database.Open(); 

    } 

data1 = DataAccess.DatabaseTables("SELECT * from [CLIENTS]", DataAccess.database); 

public DataTable DatabaseTables(string QueryString, OleDbConnection DataConnection) 
    { 

     OleDbCommand SQLQuery = new OleDbCommand(); 
     DataTable data = null; 
     SQLQuery.Connection = null; 
     OleDbDataAdapter dataAdapter = null; 
     SQLQuery.CommandText = QueryString; 
     SQLQuery.Connection = DataConnection; 
     data = new DataTable(); 
     dataAdapter = new OleDbDataAdapter(SQLQuery); 

     dataAdapter.Fill(data); 
     return data; 
    } 

獲取標題中列出的奇怪錯誤。 Setconnection設置我的連接字符串和連接正常。然後「DATA1」調用函數DatabaseTables它調用在一個異常「DataAdapter.Fill方法(數據);」。我認爲這個問題可能是我在我的機器上訪問。 MDB將在2013年我的機器上,因爲它是一個早期版本無法打開。我安裝了Access 2007運行時。打開它,它說只讀,我需要改變這個屬性。然後我試圖打開進入2013年管理員,辦公室2013做了一些重新配置本身現在這個MDB文件總是試圖在2013年訪問開,現在我會嘗試重新安裝訪問2007年是否有可能我需要卸載訪問2013年或爲這或許不是一個訪問問題,但也許我的代碼或MDB本身的問題。我複製從那裏打開了這臺機器上訪問2007的服務器這個MDB文件,但它試圖加強它,因爲它顯然是更早的版本供應商無法確定字符串值,例如,該行剛剛創建。Ole

+0

任何????????????????????????????? – Arantuath

回答

1
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source= u:\\Clients Information pats_30may13.accdb;Jet OLEDB:Database Password=MyDbPassword;"; 

我升級的源代碼訪問數據庫ACCDB格式加上確信我可以在我自己的電腦上打開這個數據庫,而不是服務器。我收到了一個通知,說升級出現了一些錯誤,但看起來沒問題。然後我用上面的連接字符串 這解決了問題。