我正在使用VS2010 c#。檢查用戶名是否在c數據表中#
我有一個包含用戶名和密碼的數據表:
____________
andy | 1234
joni | 5678
lara | 4567
如何形成一個功能,將看到什麼用戶在文本框和審查進入,如果它是在數據庫或沒有?
我正在使用VS2010 c#。檢查用戶名是否在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
請注意,根據數據庫,設置等情況,這可能區分大小寫,也可能不區分大小寫。 –
您可以在將返回DataRows數組的數據表上執行select語句。
DataRow[] foundRows = DataTable.Select("username = andy");
if(foundRows.Length > 0)
{
Console.WriteLine("Username exists");
}
這取決於你沒有提供的細節。例如,DataTable看起來像什麼? –
是不是我給的足夠的3列?這些列的名稱是用戶名和密碼。 – jonatr
任何主鍵?唯一性約束?等等?另外,你讓我假設你所有的數據都已經在'DataTable'中,但那只是因爲你沒有包含填充表的代碼,所以我必須猜測。 –