1
データベースから私のウィンドウフォームにレコード(Gender)をロードしようとしています。フォームのロード時に自動的にロードされ、IDを取得しているだけなので、ジェンダー名ではなくデータベースから、どうすればいいですか?以下 は、私はあなたがあなただけのデータテーブル定義を検査することを行うことができますが、各行が含まれているかどうか確認するために、デバッグのためにそれを中に入れない限り、あなたのforeachループは、本質的に、何もしていないDB内のレコードをウィンドウformCに読み込む方法
private void Form1_Load(object sender, EventArgs e)
{
Load_Gender();
}
public void Load_Gender()
{
try
{
string connectionString = @"Data Source=localhost;" +
"Initial Catalog=DemoDb;Integrated Security=true; User Instance=False";
SqlConnection connection = new lConnection(connectionString);
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.CommandText = "SELECT * FROM Gender";
SqlDataAdapter sl = new SqlDataAdapter(command);
DataSet ds = new DataSet();
sl.Fill(ds, "Table");
DataTable dt = ds.Tables["Table"];
foreach (DataRow row in dt.Rows)
{
string id = row["Id"].ToString();
string genderName = row["GenderName"].ToString();
}
// Loading RECORDS to comboBox
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
comboBoxGender.Items.Add(ds.Tables[0].Rows[i][0].ToString());
}
}
catch()
{
}
}
これを理解するには、表DDLを表示する必要があります。 –
'Rows [i] [0]'は* Id *を含む最初の列です - 2行目から* GenderName *を得るには 'Rows [i] [1]'に変更してください。 – Filburt
comboBoxGender.Items.Add(ds.Tables [0] .Rows [i] .ToString());を使用しようとしています。 –