axelful
چهارشنبه 10 مرداد 1386, 00:22 صبح
سلام
من یه صفحه add دارم که username , pass به دیتابیس اضافه می کنه و پسورد هم هش می کنه .کدش و پایین می ذارم .
حالا می خوام کاری کنم که کاربر نتونه با user و pass تکراری توی دیتابیس م add بشه .یعنی نام کاربری و پسورد هر کسی با بقیه متفاوت باشه .کدش و نمی دونم !!!
واسه صفحه login باید چیکار کنم اگه ممکن یه نمونه واسم بذارید .ممنون می شم .
منتظرم
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace ch03
{
///<summary>
/// Summary description for WebForm1.
///</summary>
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
///<summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///</summary>
private void InitializeComponent()
{
}
#endregion
protected void btnAdd_Click(object sender, System.EventArgs e)
{
//1. Create a connection
string strConnString =
"server=localhost ; uid=sa; pwd=; database=MyTestDB";
SqlConnection objConn = new SqlConnection(strConnString);
//2. Create a command object for the query
string strSQL =
"INSERT INTO tblUserAccounts(Username,Password) " +"VALUES(@Username, @Password)" ;
SqlCommand objCmd = new SqlCommand(strSQL, objConn);
//3. Create parameters
SqlParameter paramUsername = new SqlParameter(
"@Username", SqlDbType.NVarChar , 50);
paramUsername.Value = txtID.Text;
objCmd.Parameters.Add(paramUsername);
//Encrypt the password
clsCrypt cr = new clsCrypt();
byte[] hashedBytes = new byte[16] ;
hashedBytes = cr.computeMD5Hash (txtPass.Text);
SqlParameter paramPwd = new
SqlParameter("@Password", SqlDbType.Binary, 16);
paramPwd.Value = hashedBytes;
objCmd.Parameters.Add(paramPwd);
//Insert the records into the database
objConn.Open();
objCmd.ExecuteNonQuery();
objConn.Close();
//clear
txtID.Text ="";
//Redirect user to confirmation page...
}
bool isUserValid(string userID, string userPass)
{
//1. Create a connection
string strConnString =
"server=localhost ; uid=sa; pwd=; database=MyTestDB";
SqlConnection objConn = new SqlConnection(strConnString);
//2. Create a command object for the query
string strSQL ="SELECT COUNT(*) FROM tblUserAccount " +
"WHERE Username=@Username AND Password=@Password";
SqlCommand objCmd = new SqlCommand(strSQL, objConn);
//3. Create parameters
SqlParameter paramUsername = new SqlParameter("@Username", SqlDbType.VarChar, 50);
paramUsername.Value = userID;
objCmd.Parameters.Add(paramUsername);
//Encrypt the password
byte[] hashedDataBytes = new Byte[16];
clsCrypt cr = new clsCrypt() ;
hashedDataBytes = cr.computeMD5Hash (userPass);
SqlParameter paramPwd = new SqlParameter("@Password",
SqlDbType.Binary, 16);
paramPwd.Value = hashedDataBytes;
objCmd.Parameters.Add(paramPwd);
//Insert the records into the database
objConn.Open();
int iResults = (int) objCmd.ExecuteScalar();
objConn.Close();
if( iResults == 1 )
//The user was found in the DB
return true;
else
//The user was not found in the DB
return false;
}
}
}
من یه صفحه add دارم که username , pass به دیتابیس اضافه می کنه و پسورد هم هش می کنه .کدش و پایین می ذارم .
حالا می خوام کاری کنم که کاربر نتونه با user و pass تکراری توی دیتابیس م add بشه .یعنی نام کاربری و پسورد هر کسی با بقیه متفاوت باشه .کدش و نمی دونم !!!
واسه صفحه login باید چیکار کنم اگه ممکن یه نمونه واسم بذارید .ممنون می شم .
منتظرم
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace ch03
{
///<summary>
/// Summary description for WebForm1.
///</summary>
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
///<summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///</summary>
private void InitializeComponent()
{
}
#endregion
protected void btnAdd_Click(object sender, System.EventArgs e)
{
//1. Create a connection
string strConnString =
"server=localhost ; uid=sa; pwd=; database=MyTestDB";
SqlConnection objConn = new SqlConnection(strConnString);
//2. Create a command object for the query
string strSQL =
"INSERT INTO tblUserAccounts(Username,Password) " +"VALUES(@Username, @Password)" ;
SqlCommand objCmd = new SqlCommand(strSQL, objConn);
//3. Create parameters
SqlParameter paramUsername = new SqlParameter(
"@Username", SqlDbType.NVarChar , 50);
paramUsername.Value = txtID.Text;
objCmd.Parameters.Add(paramUsername);
//Encrypt the password
clsCrypt cr = new clsCrypt();
byte[] hashedBytes = new byte[16] ;
hashedBytes = cr.computeMD5Hash (txtPass.Text);
SqlParameter paramPwd = new
SqlParameter("@Password", SqlDbType.Binary, 16);
paramPwd.Value = hashedBytes;
objCmd.Parameters.Add(paramPwd);
//Insert the records into the database
objConn.Open();
objCmd.ExecuteNonQuery();
objConn.Close();
//clear
txtID.Text ="";
//Redirect user to confirmation page...
}
bool isUserValid(string userID, string userPass)
{
//1. Create a connection
string strConnString =
"server=localhost ; uid=sa; pwd=; database=MyTestDB";
SqlConnection objConn = new SqlConnection(strConnString);
//2. Create a command object for the query
string strSQL ="SELECT COUNT(*) FROM tblUserAccount " +
"WHERE Username=@Username AND Password=@Password";
SqlCommand objCmd = new SqlCommand(strSQL, objConn);
//3. Create parameters
SqlParameter paramUsername = new SqlParameter("@Username", SqlDbType.VarChar, 50);
paramUsername.Value = userID;
objCmd.Parameters.Add(paramUsername);
//Encrypt the password
byte[] hashedDataBytes = new Byte[16];
clsCrypt cr = new clsCrypt() ;
hashedDataBytes = cr.computeMD5Hash (userPass);
SqlParameter paramPwd = new SqlParameter("@Password",
SqlDbType.Binary, 16);
paramPwd.Value = hashedDataBytes;
objCmd.Parameters.Add(paramPwd);
//Insert the records into the database
objConn.Open();
int iResults = (int) objCmd.ExecuteScalar();
objConn.Close();
if( iResults == 1 )
//The user was found in the DB
return true;
else
//The user was not found in the DB
return false;
}
}
}