-3

我正在开发 VS2010 c#。

我有一个包含用户名和密码的数据表:

____________
andy | 1234
joni | 5678
lara | 4567

如何形成一个函数来查看用户在文本框中输入的内容并查看它是否在数据库中?

4

2 回答 2

3

您可以编写一个SQL Function并执行以下操作:

CREATE FUNCTION [dbo].[CheckUserExists] (@User NVARCHAR(50))
RETURNS BIT
AS 
BEGIN
DECLARE @RetVal INT

SELECT @RetVal = COUNT(User.UserId)
FROM
    Users
WHERE
    Users.Username = @User

IF @RetVal > 0 
BEGIN
   RETURN 1
END
    RETURN 0
END

然后在您的 C# 程序中,您可以使用ADO.NET并执行以下操作:

private bool UserExists(string username) {
     SqlCommand cmd  = new SqlCommand("CheckUserExists", conn);

 cmd.CommandType = CommandType.StoredProcedure;

 cmd.Parameters.Add(new SqlParameter("@User", username));

     SqlDataReader reader = cmd.ExecuteReader(); // execute the function

     // return the response from the reader (1 if it is true, 0 for false)
}

然后,您可以通过执行以下操作调用该函数:

 var userExists = UserExists("YourUser");

http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson07.aspx

于 2012-10-28T17:33:59.000 回答
1

您可以在数据表上执行一个 select 语句,该语句将返回一个 DataRows 数组。

DataRow[] foundRows = DataTable.Select("username = andy");
if(foundRows.Length > 0)
{
Console.WriteLine("Username exists");
}
于 2012-10-28T18:06:11.060 回答