c# - 从函数返回值 - 错误

标签 c#

我收到一个错误,我无法从下面的函数返回一个值。我们将不胜感激。

private void UserExiest(string username)
{
    SqlConnection myConnection = new SqlConnection("user id=test;" +
            "password=test;" +
            "server=.;" +
            "Trusted_Connection=yes;" +
            "database=DB; " +
            "MultipleActiveResultSets=True;" +
            "connection timeout=30");

    myConnection.Open();
    SqlCommand CHECKNPC = new SqlCommand("select struserid from USERDATA where strUserId = '" + username + "'", myConnection);
    SqlDataReader NpcReader = CHECKNPC.ExecuteReader();
    if (NpcReader.HasRows)
    {
        return "1";
    }
    else
    {
        return "0";
    }
    myConnection.Close();
}

最佳答案

您的函数的返回类型为 void。你不能从那里返回一个字符串。将您的函数签名更改为:

private string UserExist(string username)

如果你返回 bool 会更好,因为你正在检查 NpcReader.HasRows 然后返回 "1" 如果是 true 和“0” 如果为 false。另外,最好在返回值之前关闭连接。

始终使用 SqlParameter或参数化查询,您当前的查询是为 SQL Injection 打开的.

关于c# - 从函数返回值 - 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16236099/

相关文章:

c# - 我需要一个正则表达式来获取 img 标签的 src 属性

C# - 如何在运行时在 WinRT 通用应用程序中加载 dll

c# - 将多个列表绑定(bind)到 DataGridView

c# - 如何查看从MySql数据库到SQL Server Kentico的数据?

c# - 如何或者可以访问一组带有代码隐藏的控件或元素?

c# - 如何按工作日的顺序(如日历周)而不是字母顺序(在 C# 中)排序?

C# 如何在这个 Lambda 表达式中使用 BigInteger?

c# - 将原始 RGB 字节数组转换为 JPG 编码的字符串 base64

c# - 设计数据库模式以像在电子邮件系统中一样处理颜色

javascript - 从动态创建的下拉列表中获取值