【发布时间】:2015-07-18 00:40:23
【问题描述】:
我想创建一个函数,用户可以在该函数上猜测 MySQL 数据库中的值。 label2 是由其他代码随机生成的,因此用户必须通过输入 texbox1 来猜测 label2 的伙伴值。我尝试对代码使用通常的登录功能
s = "SELECT val2 FROM data_reader.db WHERE val1='" + this.label2.Text + "'and image='" + this.textBox1.Text + "';";
int count = 0;
while (mdr.Read())
{
count = count + 1;
}
if (count == 1)
{
MessageBox.Show("correct");
}
else
{
MessageBox.Show("wrong");
}
此代码的问题是即使值正确,它也总是返回错误。是否缺少任何算法,或者我的代码可能不适合此目的?
【问题讨论】:
-
也许使用
if (count >= 1)而不是==?如果您希望只有一个答案,为什么还要数数呢?或者可以有多行具有相同的val1和image值? -
s和mdr.Read()之间是什么关系? -
请不要连接字符串以形成 SQL 查询。您对使用这种方法的 SQL 注入攻击非常开放。 en.wikipedia.org/wiki/SQL_injection
标签: c# mysql visual-studio-2010