私の質問はこれについて他のものと異なると思います。DataRowからカラム値を取得
しかし、DataRowから行の値を取得する方法はありますか?今の 私はschemaInfosを取得するには、次のforeachがあります
foreach (DataRow row in schemaTable.Rows
{
if (row.Field<String>("ColumnName") != "id")
{
TextBox textBox = new TextBox();
MaterialDesignThemes.Wpf.HintAssist.SetHint(textBox, UppercaseFirst(row.Field<String>("ColumnName")));
textBox.Name = row.Field<String>("ColumnName");
textBox.Tag = row.Field<Boolean>("AllowDBNull");
textBox.Text = // Here I want to put the value like row.Field<String>("ColumnValue")
StackPanel.Children.Add(textBox);
}
}
私の質問は、私もこのforeachのを経由して列の値を取得することができますか? は通常のために私は値を取得するには、次の操作を行う必要があります。
while(reader.Read())
{
textBox.Text = reader[i].ToString();
}
をしかし、私はあまりにも私のDataRowのforeachでこれを行うことができないと思います。 おそらく、値row.Field<String>("ColumnValue")
またはそのような値を取得する別のDataColumnプロパティがあります。
私は最初の列の値だけを返しますが、他の列は返しませんでした。
int i = 1;
foreach (DataRow field in schemaTable.Rows)
{
if (field.Field<String>("ColumnName") != "id")
{
TextBox textBox = new TextBox();
MaterialDesignThemes.Wpf.HintAssist.SetHint(textBox, UppercaseFirst(field.Field<String>("ColumnName")));
textBox.Name = field.Field<String>("ColumnName");
textBox.Tag = field.Field<Boolean>("AllowDBNull");
if (dataReader.Read())
{
textBox.Text = dataReader[i].ToString();
}
i++;
StackPanel.Children.Add(textBox);
}
}
を持っています。質問は終了できますか? –
質問は不明です。あなたは、データベース内のテーブルに関するメタ情報だけを含むスキーマテーブルを持っているようです。値が必要な場合は、有効なSQLを使用して値を読み取ってから、DataAdapterを介してDataTableに入力してください。 –
物事はない( "ColumnValue")です。 私はschemaInfoを読んでColumnNameとAllowDBNullを取得しました。 ColumnNameは、ColumnNameのラベルを持つテキストボックスです。今度は、Columnの値をTextBox.Textプロパティに入れたいと思います。だから私はしばらくすることができません(reader.Read())私の質問を編集しました。 – Luranis