none
如何以欄位名稱存取DataTable某欄位的數值 RRS feed

  • 問題

  • 此問題可引發出以下3問題:
    1) 如何指定DataTable某一特定的Row
    2) 如何取得DataTable當前的Row
    3) 如何以欄位名稱存取DataTable當前的Row內某一特定欄位的值
    請各位大大幫忙...
    2008年8月30日 上午 12:45

解答

所有回覆

  • 存取列要用列的位置 (即 rowindex),但欄位可以用欄位序號 (column index) 或是欄位名稱 (column name) 來存取。

     

    Code Snippet

    DataTable.Rows[rowindex][columnindex]

    DataTable.Rows[rowindex][columnname]

    都可以。

     

     

    使用 foreach 可以很容易的瀏覽 DataRow:

     

    Code Snippet

    foreach (DataRow row in table.Rows)

    {

        row[columnindex] ' 用 column index 存取欄位內容

        row[columnname] ' 用 column name 存取欄位內容

    }

     

     

     

    2008年8月30日 上午 01:15
    版主
  • 多謝大大的幫忙!!
    但實際應用中, 通常不能得知rowindex,
    而是要靠一個欄位(通常是主鍵)以指定某一row,
    而DataTable有沒有方法可以通過主鍵指定某一row呢?

     小朱 寫信:

    存取列要用列的位置 (即 rowindex),但欄位可以用欄位序號 (column index) 或是欄位名稱 (column name) 來存取。

     

    Code Snippet

    DataTable.Rows[rowindex][columnindex]

    DataTable.Rows[rowindex][columnname]

    都可以。

     

     

    使用 foreach 可以很容易的瀏覽 DataRow:

     

    Code Snippet

    foreach (DataRow row in table.Rows)

    {

        row[columnindex] ' 用 column index 存取欄位內容

        row[columnname] ' 用 column name 存取欄位內容

    }

     

     

     

    2008年8月30日 上午 02:09
  • 可以用 DataTable.Select() 以特定條件搜尋。

    2008年8月30日 上午 04:38
    版主
  • 請教如何可配合DataTable.Rows[i]["fieldName"]來使用呢?
    i.e.當中Rows的第一個index如何可透過指定某一欄位(通常是主鍵)的值來得出呢?

     小朱 寫信:

    可以用 DataTable.Select() 以特定條件搜尋。

    2008年8月30日 下午 12:07
  • 請恕在下仍不明白..
    DataTable.Select() 返回的是DataRow, 而不是一個int,
    如何配合
    DataTable.Rows[i]["fieldName"]來使用呢?

     Polywan 寫信:
    請教如何可配合DataTable.Rows[i]["fieldName"]來使用呢?
    i.e.當中Rows的第一個index如何可透過指定某一欄位(通常是主鍵)的值來得出呢?

     小朱 寫信:

    可以用 DataTable.Select() 以特定條件搜尋。

    2008年8月31日 上午 02:11
  • DataTable.Select() 傳回來的 DataRow[] 可以直接使用,為什麼一定要死抱著 DataTable.Rows[ i ]["fieldName"] ...

    2008年9月1日 上午 09:49
    版主
  • 這麼喜歡得到  i 值....可以參考: DataRowCollection.IndexOf 方法
    2008年9月1日 下午 03:41