-2
protected void custo_search_Click(object sender, EventArgs e)
{
conn.Open();
if (appo_fname.Text != null || appo_lname.Text != null || appo_num.Text != null)
{
DataTable dt = new DataTable();
MySqlDataReader myReader = null;
MySqlCommand myCommand = new MySqlCommand("SELECT customers.First_name,customers.Last_name,customers.Phone_num From customers INNER JOIN appointments On customers.Phone_num=appointments.Phone_num Where customers.Phone_num='" + search_txt.Text+"' ", conn);
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
appo_fname.Text = (myReader["customers.First_name"].ToString());
appo_lname.Text = (myReader["customers.Last_name"].ToString());
appo_num.Text = (myReader["customers.Phone_num"].ToString());
}
conn.Close();
}
}
同じプライマリキーを使用して2つのテーブルを接続しようとしていますので、検索テキストボックスに電話番号を入力すると、その番号が他のテーブルに存在するかどうかがチェックされます。名前、氏名、電話番号を他のテキストボックスに入力して、入力しなくても何かが入力されずにコード内でコードが実行されない場合は、「while」のコードをスキップします。あるテーブルの情報を別のテーブルのプライマリキーに基づいてテキストボックスに取り込む方法は?
私の電話番号は、 " ';データベースDB_NAMEを()ドロップ''" である(myReader.HasRows)場合、' {行う にあなたのwhile文を変更し –
{ appo_fname.Text =(myReader [ "customers.First_name"] .ToString()); appo_lname.Text =(myReader ["customers.Last_name"]。ToString()); appo_num.Text =(myReader ["customers.Phone_num"]。ToString()); } } while(myReader.NextResult()); – Kami
例外があるか、クエリによって返されたデータがないだけですが、ここのコードはOKです。SQLインジェクションを気にする必要があります。 sq管理スタジオでクエリを実行し、クエリが何かを返すかどうかを確認することができます。 –