我正在开发 VS2010 c#。
我有一个包含用户名和密码的数据表:
____________
andy | 1234
joni | 5678
lara | 4567
如何形成一个函数来查看用户在文本框中输入的内容并查看它是否在数据库中?
您可以编写一个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
您可以在数据表上执行一个 select 语句,该语句将返回一个 DataRows 数组。
DataRow[] foundRows = DataTable.Select("username = andy");
if(foundRows.Length > 0)
{
Console.WriteLine("Username exists");
}