2011-07-14 24 views
3

c#でselectクエリを使用してデータセットを埋めた場合、どのようにして列の値を読み取ることができますか? LikeC#でのデータセットの読み込み

string name = DataSetObj.rows [0] .columns ["name"]?

構文を知りたいです。

おかげ

答えて

5
foreach(var row in DataSetObj.Tables[0].Rows) 
{ 
    Console.WriteLine(row["column_name"]); 
} 
+0

テーブルコレクションへの参照がありません –

+0

@il_guru:ありがとうございます。 – mdm

2

すでにデータセットを持っている場合、それはこのようなものです。

object value = dataSet.Tables["MyTable"].Rows[index]["MyColumn"] 

あなたはDataReaderを使用している場合:

using (SqlCommand cmd = new SqlCommand(commandText, connection, null)) 
{ 
    using (var reader = cmd.ExecuteReader()) 
    { 
     while (reader.Read()) 
     { 
      testID = (int)reader["id"]; 
     } 
    } 
} 
1

をあなたはインデックス

1

を使用することができる代わりに、TABLE_NAMEとCOLUMN_NAMEの、あなたはまた、

object value = DataSetObj.Tables["Table_Name"].Rows[rowIndex]["column_name"] 

を掲載するものからsligthly異なりますあなたはそれを共通の方法に入れることができます。

C#

public static string GetRowValue(DataRow row, string name) { 
    if (!IsDBNull(row[name])) { 
     return row[name].ToString(); 
    } 

    return string.Empty; 
} 

VB

Public Shared Function GetRowValue(ByVal row As DataRow, ByVal name As String) As String 
    If Not IsDBNull(row(name)) Then 
     Return row(name).ToString() 
    End If 

    Return String.Empty 
End Function 
0
FileReaderObject = new StreamReader(thepath); 
       char CurrentCharacter = (char)FileReaderObject.Read(); 
       string CurrentWord = ""; 

       while (FileReaderObject.ReadLine() != null) 
       { 
        if (CurrentCharacter == '\n') 
        { 
         ((ArrayList)TChromosomes[TChromosomes.Count - 1]).Add(CurrentWord); 
         TChromosomes.Add(new ArrayList()); 
         TMask.Add(new ArrayList()); 
         CurrentWord = ""; 
        } 
        else if (CurrentCharacter == ',') 
        { 
         ((ArrayList)TChromosomes[TChromosomes.Count - 1]).Add(CurrentWord); 
         ((ArrayList)TMask[TMask.Count - 1]).Add((int)(new Random().Next(0, 2))); 
         CurrentWord = ""; 
        } 
        else 
        { 
         CurrentWord += CurrentCharacter; 
        } 
       } 

このコードは、オブジェクト参照を読み取ることが望めない」ファイルを読み取るという問題を有している理由.... "このコードは、行ごとにデータセットを読み込み、各文字を '、'まで読み込み、各文字「エンコーディング」に対して0または1をランダムに生成します。

あなたはどう思いますか?

+0

ここでデータセットオブジェクトを使用していますか? 彼はファイルの読み込みを要求しませんでした。 – Benoit

0

var result = from ds.Tables [0] .AsEnumerable()new [] {a [0] .ToString()}を選択します。

+0

AsEnumerable()すべてのレコードをアプリケーションメモリにロードし、レコードを文字列配列にプッシュします。 – Ajsatis

関連する問題