我收到一个错误,我无法从下面的函数返回一个值。我们将不胜感激。
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/