2016-03-30 54 views
-2

可變比特我得到了以下錯誤:C#錯誤:使用方法

view('rs' is a variable bit it is used as a 'method')

我不明白爲什麼。請提供建議。謝謝!

public void loadFirst() 
{ 
    ListView1.Items.Clear(); 
    Connection connect = new Connection(); 
    ADODB.Recordset rs = new ADODB.Recordset(); 
    var _with2 = connect; 
    _with2.open(); 
    string SQL = "SELECT * FROM CA"; 
    rs.Open(SQL, _with2.conn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic); 
    if (rs.RecordCount != 0) 
    { 
     while (!rs.EOF) { 
      ListViewItem lv =  ListView1.Items.Add(rs("ProjectName").Value); 
      lv.SubItems.Add(rs("ItemName").Value); 
      lv.SubItems.Add(rs("Amount").Value); 
      lv.SubItems.Add(rs("Budget").Value); 
      lv.SubItems.Add(rs("Expenses").Value); 
      lv.SubItems.Add(rs("Total").Value);        
      rs.MoveNext(); 
     } 
    } 
    _with2.close(); 
} 
+0

rs(「ProjectName」)'在'rs'上調用一個方法。也許它應該是'rs [「ProjectName」]'而不是?另外 - 請在發佈之前格式化/縮進你的代碼 – Rob

+1

答案在於這個問題,rs是一個變量,它由新的ADODB.RecordSet()創建;但是當被調用時,你稱它爲一種方法,函數或動作。不知道完整的庫我不會作爲答案,但是,我會建議,而不是rs(「ProjectName」)你嘗試rs [「ProjectName」] –

回答

0

在C#中,你需要訪問ADODB.Recordset rs對象的索引屬性時使用方括號。例如,而不是rs("Budget")使用rs["Budget"]

0

嘗試使用其中之一。

string val = (string)rs.Fields["ProjectName"].Value; // using column name. 
的標識符信號,該標識符是一個函數,該括號內的項目是用於該函數的參數的實際值之後

string val = rs.Fields[1].Value.ToString(); // using index 
0

(...)。

MSDN C# operators定義了()是一個函數調用操作者

RS是標識符的對象,一個類的實例。它不是一個函數,你不能使用(...)。

也許你正在尋找索引屬性。方括號表示可以將對象視爲可以將方括號之間的值用作索引的項目序列。方括號的常見用途是數組,列表,集合中的整數索引,但方括號之間的值不一定是整數。使用字典時,括號內的類型是鍵類型的值。

Adob​​Db.Recordset也有一個索引屬性click to view。也許你想打這個?