0
我是C#编程语言的新手。我有问题如何检查图像是否存在或不在数据库中?我正在使用数据库内部连接。我目前的代码是工作。但是,如果图像不存在于数据库中,则所有文本框都不会从数据库获取值。我不想那样。我想这样>如果图像不存在,即使图像不存在,所有的文本框都从数据库中获得了它们的值。请有人帮助我。这里是我的代码:检查数据库中是否存在图像C#windows窗体
private void textBoxEmplNo_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (textBoxEmplNo.Text != "")
{
string selectSql = "select a.name, a.empno, a.workno, a.icnum, a.passport, a.deptno, a.section, a.designation, b.path from m_employee a inner join m_emp_photo b on b.empno=a.empno where a.empno= @empno";
SqlCommand cmd = new SqlCommand(selectSql, con);
cmd.Parameters.AddWithValue("@empno", textBoxEmplNo.Text);
bool isDataFound = false;
try
{
con.Open();
using (SqlDataReader read = cmd.ExecuteReader())
{
while (read.Read())
{
isDataFound = true;
textBoxWorkNo.Text = (read["workno"].ToString());
textBoxName.Text = (read["name"].ToString());
textBoxICPass.Text = (read["icnum"].ToString());
textBoxPassport.Text = (read["passport"].ToString());
textBoxDept.Text = (read["deptno"].ToString());
textBoxSection.Text = (read["section"].ToString());
textBoxDesignation.Text = (read["designation"].ToString());
pictureBox1.Visible = true;
pictureBox1.Image = Image.FromFile("" + read["path"].ToString());
dataGridView1.Visible = false;
}
}
if (!isDataFound)
{
textBoxEmplNo.Text = "";
textBoxWorkNo.Text = "";
textBoxName.Text = "";
// Display message here that no values found
MessageBox.Show("No Result Found");
}
}
finally
{
con.Close();
}
}
else
{
textBoxWorkNo.Text = "";
textBoxName.Text = "";
}
dataGridView1.Visible = false;
}
}
您想显示来自'm_employee'的员工数据,而不管照片表中的数据是否正确?为此,只需使用“左连接”。 –
@CoderofCode嗨,我已经试过了。但是如果图像没有在数据库中,它仍然会显示消息“No Result Found”。我希望员工数据仍然显示在所有文本框中,即使图像不存在于数据库中。你能用代码解释更多细节吗?因为我在编程方面还是新手。 :( – Miza
我已经为此写了答案,请查看 –