2013-11-03 127 views
0

我想執行存儲在c#中的MsAcces數據庫中的查詢。我不斷收到在「CreateDataReader」一個錯誤的錯誤消息:在c#中運行MsAccess查詢#


「串」不包含「CreateDataReader」和 的定義沒有被發現的擴展方法「CreateDataReader」接收器類型 「字符串」爲第一個參數。


這是代碼,有人可以告訴我我在做什麼錯嗎?

private void button1_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\uchet_tovarov.mdb"); 
     String cmd = string.Format("сумма_определ_товара"); 
     OleDbCommand oleCmd = new OleDbCommand(cmd); 

     oleCmd.CommandText = "сумма_определ_товара"; 
     oleCmd.CommandType = CommandType.StoredProcedure; 

     IDataReader dr = cmd.CreateDataReader(oleCmd); 

     while (dr.Read()) 
     { 
      MessageBox.Show(dr.GetInt32(0).ToString()); 
     }    
    } 
    catch { } 
} 

回答

-1

看這句話:

String cmd = string.Format("сумма_определ_товара"); 

類名String必須以在兩個地方一個大寫字母。這一個第一次嘗試:

String cmd = String.Format("сумма_определ_товара"); 
+0

我試過了,仍然出現錯誤。 – user2263271

+0

這在C#中是不正確的。 – Ryan

1

由於錯誤訊息:cmd這裏是一個字符串:

IDataReader dr = cmd.CreateDataReader(oleCmd); 

看起來你正在尋找oleCmd,您的命令對象:

IDataReader dr = oleCmd.ExecuteReader(); 
+0

現在我不會犯一個錯誤,但是當我點擊按鈕它什麼也不做。查詢在MsAcces中工作正常,這是查詢:SELECT c.kod_tovara,ROUND(AVG(kol * cena),2)ASсумма_даного_товара FROM realizacia GROUP BY c.kod_tovara; 你能幫我嗎? – user2263271