2013-05-08 50 views
0

填充數據集我越來越錯誤與OLEDB

從下面的代碼

「爲一個更必需的參數給出沒有值」一切正常沒能發現問題。

string myConnectionString= @"Provider=Microsoft.Jet.OLEDB.4.0; Data source=D:\TiptonDB.mdb"; 
       string query = "SELECT NodeID FROM NDDINodes";//"SELECT O.NodeID, N.NodeID FROM NDDINodes AS N, NDDINodes AS O WHERE N.X=O.X And N.Y=O.Y And N.NodeID<>O.NodeID"; 

       DataSet dt = new DataSet(); 
       using (OleDbConnection myConnection = new OleDbConnection()) 
       { 
        myConnection.ConnectionString=myConnectionString; 
        OleDbCommand cmd=new OleDbCommand(); 
        cmd.Connection=myConnection; 

       // cmd.CommandText="SELECT O.NodeID, N.NodeID FROM NDDINodes AS N, NDDINodes AS O WHERE N.X=O.X And N.Y=O.Y And N.NodeID<>O.NodeID"; 
        myConnection.Open(); 
        OleDbDataAdapter ad = new OleDbDataAdapter(query,myConnection); 
        ad.Fill(dt); 
       } 
+1

您可能拼寫錯誤的表名或列名。請檢查此! – 2013-05-08 12:21:47

+1

表'NDDINodes'中是否存在'NodeID'? 表'NDDINodes'存在嗎? – jAC 2013-05-08 12:21:57

+0

你永遠不會執行代碼。您不需要執行查詢或將它傳遞給數據集之前。你甚至不打開連接。 – Dave 2013-05-08 12:24:02

回答

0

只是在你的代碼添加此

OleDbDataAdapter ad = new OleDbDataAdapter(); 
ad.SelectCommand = new OleDbCommand(query, myConnection); 
0
string myConnectionString= @"Provider=Microsoft.Jet.OLEDB.4.0; Data source=D:\TiptonDB.mdb"; 
       string query = "SELECT NodeID FROM NDDINodes";//"SELECT O.NodeID, N.NodeID FROM NDDINodes AS N, NDDINodes AS O WHERE N.X=O.X And N.Y=O.Y And N.NodeID<>O.NodeID"; 

DataSet dt = new DataSet(); 

OleDbConnection objXConn = new OleDbConnection(myConnectionString); 
       objXConn.Open(); 
       OleDbCommand objCommand = new OleDbCommand(query, objXConn); 
       OleDbDataAdapter adp = new OleDbDataAdapter(objCommand); 
       adp.Fill(dt); 
       objXConn.Close(); 
0

確保您連接字符串不丟失數據:UserName/PasswordPersist Security Info=True,...

Check this link訪問的connectionString設置。