验证电子邮件地址,但未找到行 [位置 0 处没有行。 错误]



我正在尝试验证一个电子邮件地址,用户在该地址中输入他们想要的电子邮件以创建帐户,如果数据库中的行大小大于0,则表示电子邮件已经创建,如果不是,则大小应为零。

但我的int大小不会捕获零值,只返回"0";在位置0"处没有行;。我该怎么解决这个问题?

这是我的代码

{
String sql = "SELECT * FROM Users WHERE EmailAddress = '" + emailaddress + "' ";
DataSet mydata = dbConnect.GetDataSet(sql);
int size = Int32.Parse(mydata.Tables[0].Rows[0]["UserId"].ToString());
if (size > 0)
{
return false;
}
else {
return true;
}
}```

您可以将SQL重写为:

String sql = "SELECT count(*) FROM Users WHERE EmailAddress = '" + emailaddress + "' ";

这样,它将返回一个整数,您只需检查返回的整数是否大于0。

当找不到匹配项时,原始SQL返回一个空结果,这就是您看到该错误的原因。

在SQL中使用count(*(可以避免这种情况。

相关内容

  • 没有找到相关文章

最新更新