C# 在数据库中搜索

C# 在数据库中搜索,c#,sql,C#,Sql,我创建了一个包含两列的数据库表,其中一列存储明文,另一列存储明文的Md5Hash 当给定MDF5Hash时,我试图从C#中搜索我的数据库,以查找所需的明文 我试过: com.CommandText = "Select PlainText from dbo.CryptTable where Md5Hash='" + textBox1.Text + "'"; try { com.Connection = con; con.Open(); MessageBox.Show(co

我创建了一个包含两列的数据库表,其中一列存储
明文
,另一列存储
明文
Md5Hash

当给定
MDF5Hash
时,我试图从C#中搜索我的数据库,以查找所需的
明文

我试过:

com.CommandText = "Select PlainText from dbo.CryptTable where Md5Hash='" + textBox1.Text + "'";

try
{
    com.Connection = con;
    con.Open();
    MessageBox.Show(com.ExecuteNonQuery().ToString());
    con.Close();
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}
给定正确的
MdFHash
我收到
-1

使用
ExecuteScalar()
而不是
ExecuteNonQuery()
。它将返回第一行结果的第一个单元格,这正是您所需要的

执行查询,并返回查询返回的结果集中第一行的第一列。其他列或行将被忽略

对连接执行Transact-SQL语句,并返回受影响的行数

使用
ExecuteScalar()
而不是
ExecuteNonQuery()
。它将返回第一行结果的第一个单元格,这正是您所需要的

执行查询,并返回查询返回的结果集中第一行的第一列。其他列或行将被忽略

对连接执行Transact-SQL语句,并返回受影响的行数

使用
ExecuteScalar()
而不是
ExecuteNonQuery()
。它将返回第一行结果的第一个单元格,这正是您所需要的

执行查询,并返回查询返回的结果集中第一行的第一列。其他列或行将被忽略

对连接执行Transact-SQL语句,并返回受影响的行数

使用
ExecuteScalar()
而不是
ExecuteNonQuery()
。它将返回第一行结果的第一个单元格,这正是您所需要的

执行查询,并返回查询返回的结果集中第一行的第一列。其他列或行将被忽略

对连接执行Transact-SQL语句,并返回受影响的行数


真的,谢谢你:@Parisa,不客气!您还应该知道当前代码易受攻击。您应该阅读有关SQL注入的内容,并尝试使其更加安全。这是千真万确的,谢谢:@Parisa不客气!您还应该知道当前代码易受攻击。您应该阅读有关SQL注入的内容,并尝试使其更加安全。这是千真万确的,谢谢:@Parisa不客气!您还应该知道当前代码易受攻击。您应该阅读有关SQL注入的内容,并尝试使其更加安全。这是千真万确的,谢谢:@Parisa不客气!您还应该知道当前代码易受攻击。您应该阅读有关SQL注入的内容,并尝试使其更加安全。