C# 从SQL Server表返回特定值

C# 从SQL Server表返回特定值,c#,sql,asp.net,sql-server,C#,Sql,Asp.net,Sql Server,我试图使用一个函数来检查电子邮件是否存在,我想返回用户名和电子邮件。我如何才能做到这一点,我应该如何处理我现有的代码?如何将用户名和电子邮件传递到aspx页面 public static string searchEmail(string email) { connectionString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString; SqlConnection c

我试图使用一个函数来检查电子邮件是否存在,我想返回用户名和电子邮件。我如何才能做到这一点,我应该如何处理我现有的代码?如何将用户名和电子邮件传递到aspx页面

public static string searchEmail(string email)
{
    connectionString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
    SqlConnection conn = new SqlConnection(connectionString);
    {
        conn.Open();

        bool exists = false;

        using (SqlCommand comm = new SqlCommand("select count(*) from Member where email = @email", conn))
        {
            comm.Parameters.AddWithValue("@email", email);
            exists = (int)comm.ExecuteScalar() > 0;
        }

        if (exists)
        {
            return "Password has been reset, please check your email box!";
        }

        return null;
    }
}

你可以用这样的东西

public static Tuple<string,string> searchEmail(string email)
{
    string userName = "";
    connectionString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
    SqlConnection conn = new SqlConnection(connectionString);
    {
        conn.Open();              

        using (SqlCommand comm = new SqlCommand("select UserName from Member where email = @email", conn))
        {
            SqlDataReader reader;
            comm.Parameters.AddWithValue("@email", email);

            reader = comm.ExecuteReader();
            if (reader.HasRows)
            {
              while (reader.Read())
              {                                
                 userName = reader.GetString(0);
              }
            }
        }          
    }
     conn.Close();
     return new Tuple<string,string>(email,userName);
}
公共静态元组搜索电子邮件(字符串电子邮件)
{
字符串userName=“”;
connectionString=ConfigurationManager.connectionString[“myConnectionString”]。connectionString;
SqlConnection conn=新的SqlConnection(connectionString);
{
conn.Open();
使用(SqlCommand comm=newsqlcommand(“从成员中选择用户名,其中email=@email”,conn))
{
SqlDataReader;
comm.Parameters.AddWithValue(“@email”,email);
reader=comm.ExecuteReader();
if(reader.HasRows)
{
while(reader.Read())
{                                
用户名=reader.GetString(0);
}
}
}          
}
康涅狄格州关闭();
返回新元组(电子邮件、用户名);
}

为什么不查询您想要的所有数据而不是
计数
,只需使用
ExecuteReader
Read()
检查一行就可以了?存储过程太棒了。我同意@Adam的说法。这在存储过程中会更好。你也应该看看这篇文章。所以你们想要创建一个存储过程来返回用户名@佐姆巴:是的,事实上,我只是建议。我不喜欢在应用程序中进行查询,即使是在数据层。如何在aspx页面上捕获传递的值?我不理解您的问题。。。你的意思是什么?我如何在aspx页面上显示用户名?使用MVC的aspx页面?