计数行时出错

时间:2015-04-07 15:50:11

标签: c# asp.net

所以我将电子邮件发送到我的验证类中的checkEmail方法的参数。

authentication.cs:

public int checkEmail(string email)
{
    usersTableAdapters.UsersTableAdapter user = new usersTableAdapters.UsersTableAdapter();
    users.UsersDataTable userDataTable = user.GetData();
    user.checkEmail(email);

    if (userDataTable.Rows == 0)
    {
    }

}

checkEmail是一个查询,它是“SELECT COUNT(电子邮件)AS电子邮件来自People WHERE(email =?)”

在checkEmail方法中,我试图检查它们是否是检索到的行,但是使用当前代码我得到了这个错误:

运算符'=='不能应用于'System.Data.DataRowCollection'和'int

类型的操作数

有谁知道我做错了什么?

4 个答案:

答案 0 :(得分:0)

Rows是一个名为DataRowCollection的集合,您需要检查Count属性:

if (userDataTable.Rows.Count == 0)

答案 1 :(得分:0)

你忘记添加计数:

if (userDataTable.Rows.Count == 0)
{
}

答案 2 :(得分:0)

DataTable的Rows属性是DataRow对象的集合。将您的代码更改为:

if (userDataTable.Rows.Count == 0)
{
...
}

答案 3 :(得分:0)

您的问题是userDataTable.Rows不是整数,它是行的集合。如果您需要行数,则必须使用Count属性。

你最终会得到这个:

if(userDataTable.Rows.Count == 0)
{
...
}