Сюда я прихожу с этим случаем и дело в том, что я ищу, сравнивать след, введенный в компьютер в формуляре моего проекта, и который, будучи введена в компьютер, выполнял бы последовательность для того, чтобы он сравнил ее с теми, которые находятся в базе данных, и сделав это скажите мне, существует ли или нет он, в случае когда существовал, он изменит текст одного из моих label с идентификацией этого следа. Проблема состоит, в том, что несмотря на то, что вводит неправильный след в компьютер, система предупреждает меня, что, если он существует и сверху не меняет текст моего label посылая мне ошибку чтения в данных...
Я жду и смогите помогать мне здесь им оставил код, который я использую для сравнения и читателя следа, что использование - Цифровое, Является лично 4500.
private void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(conString);
con.Open();
try
{
SqlCommand cmd = new SqlCommand(@"SELECT COUNT(*) from Prueba where CONVERT(varchar(40), HUELLA) like '%@Huella%'", con);
cmd.Parameters.AddWithValue("@Huella", SqlDbType.VarBinary);
MemoryStream ms = new MemoryStream();
pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
cmd.Parameters["@Huella"].Value = ms.GetBuffer();
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
MessageBox.Show("Ya existe");
Resultado.Text = reader["ID"].ToString();
con.Close();
}
else
{
MessageBox.Show("No Existe");
}
}
catch (Exception ex)
{
MessageBox.Show("Error en:" + ex.ToString());
Controlalodor.Text = "";
}
Проблема состоит в том, что консультации, которую ты делаешь, один SELECT COUNT(*)
, чтобы видеть, существует ли какой-то след, но позже вместо того, чтобы подтверждать результат, ты подтверждаешь reader.HasRows
.
SELECT COUNT(*)
всегда будет возвращать тебе линию, с суммой реестров, которые выполняют ее condiciГіn, с которым reader.HasRows
всегда будет возвращать тебе true
. Что ты должен подтверждать, если результата консультации 0:
if (reader.HasRows)
{
reader.Read();
if (reader.GetInt32(0) == 0)
{
MessageBox.Show("No Existe");
}
else
{
MessageBox.Show("Ya existe");
Resultado.Text = reader["ID"].ToString();
con.Close();
}
}