标题:[求助]登陆界面如何去读取SQL里面的列?
只看楼主
redcar
Rank: 2
等 级:论坛游民
帖 子:210
专家分:60
注 册:2006-9-13
结帖率:100%
 问题点数:0 回复次数:10 
[求助]登陆界面如何去读取SQL里面的列?
1个登陆页面login,2个textbox,1个用户名1个密码,1个主窗体main
然后1个sql的库,就叫user库吧,里面就1张表,2列,1列储存用户名,1列储存密码,这2列里面储存了正确的用户名和密码,比如用户 aaa密码123。 请问,当我在login登陆页面输入用户名和密码的时候,要如何与sql里面那张表对比呢?正确了就显示主窗体main,错误就提示错误退出.
我就知道先sqlconntion,连接上以后就不知道怎么弄了。。。。

ps:用户很多,有100多个,所以用sql弄了
搜索更多相关主题的帖子: SQL 界面 密码 用户名 sql 
2006-11-15 08:57
redcar
Rank: 2
等 级:论坛游民
帖 子:210
专家分:60
注 册:2006-9-13
得分:0 
我想弄个的类,专门用来干类似的事情,就是去读取1张表,然后返回这些表的每1列,这样就可以在其他窗体里面读取了,但是找半天没找到类似的例子啊
2006-11-15 09:00
永鹏在线
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-7-8
得分:0 

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编辑过]

2006-11-15 09:23
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
得分:0 
好多代码!

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2006-11-15 09:25
redcar
Rank: 2
等 级:论坛游民
帖 子:210
专家分:60
注 册:2006-9-13
得分:0 
3楼的,你太夸张了吧,哪里要用RegistryKey RootKey,RegKey;
RootKey=Registry.CurrentUser.OpenSubKey("Software",true);
RegKey=RootKey.OpenSubKey("在线校验系统",true);
2006-11-15 09:38
永鹏在线
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-7-8
得分:0 

这可以把登录的操作员名称保存到注册表中,有记忆功能,下次再登录的时候取出来直接写到操作员名称框中,方便多了,否则登录的时候你还要重新输入操作员名称.你说这功能好不好?

2006-11-15 09:44
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
我是采用:
登陆成功的话在本地机上建立一个文件,用于储存登陆信息(服务器名,操作员等),下次登陆把信息读出来即可。
保存的时候进行对比,如果是新用户,则添加保存。下次登陆时取出所有的操作员及服务器,放到combox中,供用户选择。

2006-11-15 09:51
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
如果将来用户太多的话,可以点击清除(也就是把那个文件删除),登陆时就又干净了。

呵呵,对注册表操作我还一窍不通,所以就用这个方法了。

2006-11-15 09:56
永鹏在线
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-7-8
得分:0 

你这么做的话还需要选择,而我这样的话不需要选择,直接把上次操作的人员名称读进来,因为一般是同一个操作员持续操作一个程序,很少操作员换来换去的.

2006-11-15 09:57
y998601
Rank: 1
等 级:新手上路
威 望:1
帖 子:141
专家分:0
注 册:2006-10-21
得分:0 

啊?


三个臭皮匠,顶一个诸葛亮~~~
2006-11-15 11:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-103071-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051249 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved