然后1个sql的库,就叫user库吧,里面就1张表,2列,1列储存用户名,1列储存密码,这2列里面储存了正确的用户名和密码,比如用户 aaa密码123。 请问,当我在login登陆页面输入用户名和密码的时候,要如何与sql里面那张表对比呢?正确了就显示主窗体main,错误就提示错误退出.
我就知道先sqlconntion,连接上以后就不知道怎么弄了。。。。
ps:用户很多,有100多个,所以用sql弄了
private void button1_Click(object sender, System.EventArgs e)
{
RegistryKey RootKey,RegKey;
RootKey=Registry.CurrentUser.OpenSubKey("Software",true);
RegKey=RootKey.OpenSubKey("在线校验系统",true);
if (textBox1.Text.Trim()=="")
{
MessageBox.Show("请先输入操作员名称,然后点击“确定”键!","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
//打开数据表
string myStr="Persist Security Info=False;Integrated Security=SSPI;database=Dlglxt;server=(local)";
SqlConnection myConn=new SqlConnection();
myConn.ConnectionString=myStr;
myConn.Open();
string myC_str="select * from SYS_czy";
SqlCommand myCom=new SqlCommand();
myCom.CommandText=myC_str;
myCom.CommandType=CommandType.Text;
myCom.Connection=myConn;
SqlDataAdapter myDa=new SqlDataAdapter();
SqlCommandBuilder Builder=new SqlCommandBuilder(myDa);
myDa.SelectCommand=myCom;
DataSet myDs=new DataSet();
myDa.Fill(myDs,"SYS_czy");
//判断名称和密码是否正确
int Ii,Jj;
string Ss;
Jj=myDs.Tables["Sys_czy"].Rows.Count;
for (Ii=0; Ii<Jj;Ii++)
{
Ss=(string)myDs.Tables["Sys_czy"].Rows[Ii]["C_name"];
Ss=Ss.Trim();
if (textBox1.Text.Trim()==Ss)
{
Ss=(string)myDs.Tables["Sys_czy"].Rows[Ii]["C_password"];
Ss=Ss.Trim();
if (textBox2.Text.Trim()==Ss)
{
Ss=textBox1.Text.Trim();
RegKey.SetValue("C_name",(object)Ss); //保存操作员名称
myConn.Close();
this.Close();
return;
}
}
}
MessageBox.Show("操作员名称或密码不正确,请重新输入!","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
myConn.Close();
}
[此贴子已经被作者于2006-11-15 9:50:24编辑过]
这可以把登录的操作员名称保存到注册表中,有记忆功能,下次再登录的时候取出来直接写到操作员名称框中,方便多了,否则登录的时候你还要重新输入操作员名称.你说这功能好不好?
你这么做的话还需要选择,而我这样的话不需要选择,直接把上次操作的人员名称读进来,因为一般是同一个操作员持续操作一个程序,很少操作员换来换去的.