C# 在c中检查用户名是否在datatable中#
我正在研究VS2010 c 我有一个包含用户名和密码的数据表:C# 在c中检查用户名是否在datatable中#,c#,sql,.net,winforms,datatable,C#,Sql,.net,Winforms,Datatable,我正在研究VS2010 c 我有一个包含用户名和密码的数据表: ____________ andy | 1234 joni | 5678 lara | 4567 如何形成一个函数,以查看用户在文本框中输入的内容,并查看它是否在数据库中?您可以编写一个SQL函数并执行以下操作: CREATE FUNCTION [dbo].[CheckUserExists] (@User NVARCHAR(50)) RETURNS BIT AS BEGIN DECLARE @RetVal INT SELECT
____________
andy | 1234
joni | 5678
lara | 4567
如何形成一个函数,以查看用户在文本框中输入的内容,并查看它是否在数据库中?您可以编写一个
SQL函数
并执行以下操作:
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");
您可以对datatable执行select语句,该语句将返回一个DataRows数组
DataRow[] foundRows = DataTable.Select("username = andy");
if(foundRows.Length > 0)
{
Console.WriteLine("Username exists");
}
这将取决于您尚未提供的详细信息。例如,DataTable看起来像什么?我给出的3列还不够吗?列的名称是用户名和密码。有主键吗?唯一性约束?等另外,我假设您的所有数据都已在
数据表中,但这只是因为您没有包含任何填充表的代码,所以我不得不猜测。请注意,这可能区分大小写,具体取决于数据库、设置等。