ロードしたいIDを入力してデータベースから値をロードしたい、例がライブラリであるブックID#2の値をテキストボックスにロードするにはコードは機能しますが、データベースまたは最後の行の最後の値のみが表示されますが、入力したブックIDに従いません。ロードする値の特定のIDを入力してデータベースからテキストボックスに値をロードしたい
ex。本1 =ハリー・ポッター、JKローリング。本2 =辞書、不明。 本3 =科学、不明。
ロードブックIDは1ですが、結果はScience、Unknownです。
ここでコード
try
{
con.Open();
adp = new SqlDataAdapter("SELECT COUNT(*) FROM Bookinfo WHERE BookNumber='" + textBox3.Text + "'", con);
dt = new DataTable();
adp.Fill(dt);
if (dt.Rows[0][0].ToString() == "1")
{
cmd2 = new SqlCommand("SELECT * FROM Bookinfo WHERE BookNumber = '" + textBox3.Text + "';", con);
using (SqlDataReader read = cmd.ExecuteReader())
{
while (read.Read())
{
textBox4.Text = (read["DateReceive"].ToString());
textBox5.Text = (read["Class"].ToString());
textBox6.Text = (read["Author"].ToString());
textBox7.Text = (read["BookName"].ToString());
textBox8.Text = (read["Edition"].ToString());
textBox9.Text = (read["Volume"].ToString());
textBox10.Text = (read["Pages"].ToString());
textBox11.Text = (read["Source"].ToString());
textBox12.Text = (read["Price"].ToString());
textBox13.Text = (read["Publisher"].ToString());
textBox14.Text = (read["Year"].ToString());
textBox15.Text = (read["Remarks"].ToString());
}
}
con.Close();
MessageBox.Show("Book Loaded");
}
else
{
MessageBox.Show("Book doesn't exist");
con.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Warning);
};
だあなたはcmdと呼ばれるSqlCommandオブジェクトに添付SqlReaderからテキストボックスを充填しているあなたに
NverはSQLクエリ文字列を連結します。パラメータを使用します。例[here](http://csharp-station.com/Tutorial/AdoDotNet/Lesson06) – BWA