사용자가 텍스트 상자를 비워 둘 때 메시지를 표시하는 조건을 추가하는 데 정말로 문제가 있습니다. 변경 방법을 알고 있지만 작동하지 않는 모든 방법을 시도했습니다. 나는 "5"텍스트 상자가 있고 숨겨져 있고 선택한 콤보 상자 항목 값에 따라 예를 들어 보여줍니다. 총기를 선택한 경우 5 개의 텍스트 상자 모두를 선택하고 탄약을 선택한 경우 3 개의 텍스트 상자 (1,2,3) 만 표시해야합니다. 그리고 하나의 텍스트 상자를 비워두면 경고 메시지 상자가 나타납니다.C#의 if else 문이 작동하지 않습니다.
하지만 문제는 탄창 설정 중에 메시지 상자가 계속 표시 되어도 textfield를 모두 채웠습니다. if else 문에 문제가 있습니까?
if(comboBox1.SelectedItem.ToString() == "Ammo" &&
textBox1.Text == "" ||
textBox2.Text == "" ||
textBox3.Text == "")
난 당신이 그 값이 비어 있습니다 "탄약"와 텍스트 상자 중 하나라고 할 가정 : (의 다른 세트를 추가
private void insertbtn_Click(object sender, EventArgs e)
{
string mysql = "";
if (comboBox1.SelectedItem.ToString() == "Firearm")
{
mysql = "insert into Firearm(Fid,Fname,Ftype,Manufacturer,Price) values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "')";
}
if (comboBox1.SelectedItem.ToString() == "Ammo")
{
mysql = "insert into Ammo(Aid,Atype,Coating,Metal) values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "')";
}
if (comboBox1.SelectedItem.ToString() == "Ammo" && textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "")
{
MessageBox.Show("Please Fill all of the text fields");
}
else if (comboBox1.SelectedItem.ToString()=="Firearm" && textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "" || textBox5.Text=="")
{
MessageBox.Show("Please Fill all of the text fields");
}
else
{
try
{
SqlConnection conn = new SqlConnection(dbsource);
conn.Open();
SqlCommand cmd = new SqlCommand(mysql, conn);
cmd.ExecuteNonQuery();
MessageBox.Show("New Data Inserted!");
conn.Close();
}
catch (SqlException)
{
MessageBox.Show("Error!!!");
}
}
}
당신이 오류를지고의
else if
에 대한 동일? – Werdna'&&'는'||'보다 높은 우선 순위를가집니다. 괄호를 올바르게 사용하십시오. – Phylogenesis
오류가 없지만 그것이 내가 원하는 방식으로 작동하지 않습니다. 이상한 일은 총기의 조건이 완벽하게 작동하고 총 텍스트 필드를 채울 때 messagebox를 표시하지 않으면 총기의 상태를 삭제 한 것입니다. 그리고 다시 총기에 대한 if 문을 넣으면 그때에도 내가 한 것처럼 모든 공백을 채우기 위해 나에게 메시지 상자를 보여주었습니다. – noeway