我想在c#的form中实现超级管理员和其密码的验证,以便登陆。请教各位!我的具体想法是:
把超级管理员的帐号和密码放在SQL 2000中的一个LoginData的表中,
表有两项属性:LoginName和LoginPassword,都分别已经初始化为
LoginName='administrator';LoginPassword='123456';
当用户输入超级管理员的用户名和密码的时候可以连接到数据库的表中进行验证。请问具体应该怎么实现!谢谢
把超级管理员的帐号和密码放在SQL 2000中的一个LoginData的表中,
表有两项属性:LoginName和LoginPassword,都分别已经初始化为
LoginName='administrator';LoginPassword='123456';
当用户输入超级管理员的用户名和密码的时候可以连接到数据库的表中进行验证。请问具体应该怎么实现!谢谢
做一个静态类,放一个静态变量表示登没登陆,同理可以放n个变量存储登陆信息(角色用户名等等)
做个form验证
控制以上变量
在需要验证的地方读取变量
再实例化一下sqlcommand sqlcmd = new sqlcommand("select userid,userpassword from 表名 where userid='"+TextBox1.Text+"',userpassword='"+TextBox2.Text"'",sqlcon);sqlcon.Open();
sqldatareader read = sqlcmd.exe...reader();
if(read.hasRow)
{
MessageBox.Show("登陆成功!");
}
else
{
MessageBox.Shwo("用户名或密码输入错误!");
}
sqlcon.Close();
以上.因为手上没有.net所以凭空写了几句话也不知道哪个地方是不是有错误.请见谅!
SqlConnection sqlCon =new SqlConnection(strConnectString)
sqlCon.Open();
SqlDataAdapter sda =new SqlDataAdapter("Select * From LoginData Where userid ='"+TextBox1.Text"' And userPwd ="+TextBox2.Text+"'",sqlCon);DataTable dt =new DataTable();
sda.Fill(dt);
if(dt.Rows.Count==0)
{
MessageBox.Show("没有该用户");
return;
}
else
{
MessageBox.Show("OK")
return;
}
这么烂的SQL语句也写啊..
功能是点击提交按钮后,将输入的userid,userpsw与logoin表里面的数据比较,也就是登录系统的那种。
表logoin:
┏━━━━━━━━━━━━━━━━━┑
┃ username userpssword ┃
├━━━━━━━━━━━━━━━━━┃
┃ cg20 cgbm ┃
┕━━━━━━━━━━━━━━━━━┙
存储过程:
ALTER PROCEDURE dbo.finddata
(
@name char(16),
@psw char(16) OUTPUT
)AS
select username=@name from login where userpassword=@psw
RETURN 提交按钮的Click事件为:
cn.Open();
cmd.Parameters["@name"].Value=userid.Text;
cmd.Parameters["@psw"].Value=userpsw.Text;
cmd.ExecuteScalar();
string name,password;
name=Convert.ToString(cmd.Parameters["@name"].Value);
password=Convert.ToString(cmd.Parameters["@psw"].Value);
if (name.Trim()==userid.Text.Trim() && password.Trim()==userpsw.Text.Trim())
{
MessageBox.Show("正确");
}
else
{
MessageBox.Show("错误");
}
cn.Close();
以上是我问老师,老师讲的,可是我运行的时候觉得有好多错误的地方呀,根本就不能达到效果,请各位帮帮忙,小弟感恩不尽。
sqlconnection sqlcon = new sqlconnection("server=.;database=...;uid=sa;pwd=;");
sqlcommand sqlcmd = new sqlcommand("select count(*) from 表名 where userid='"+TextBox1.Text.Replace("'","''")+"',userpassword='"+TextBox2.Text.Replace("'","''")"'",sqlcon);//之所有Replace是防止用 ' or '1=1-- 进入,各位可以试一下
int count=Convert.ToInt32(sqlcmd.ExecuteScalar());
sqlcon.Open();
if(count>0)
{
MessageBox.Show("登陆成功!");
}
else
{
MessageBox.Shwo("用户名或密码输入错误!");
}