2013-05-08 51 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设置。