标题:请赐代码,用户名和密码怎样与SQL数据库里的表里的相比较?小弟是新手
只看楼主
chashen8888
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-5-6
 问题点数:0 回复次数:9 
请赐代码,用户名和密码怎样与SQL数据库里的表里的相比较?小弟是新手

做了一个登录页面,已经可以和SQL数据库连接了,但是我不知怎样将在页面输入的用户名和密码和数据库里存着的ID和password比较。即判断是否与数据库里的用户名和密码相符。我看了参考书,可惜没有。我已完成一一点,求各位帮帮忙,看一看,该怎样续下去:
private void Button2_Click(object sender, System.EventArgs e)
{
try
{
DataSet ds=new DataSet();
SqlConnection myConnection=new SqlConnection("server=localhost;uid=sa;pwd=123456;database=05xguan");
string strSQL="selete * from 信管 where 学号=TextBox3.Text and 密码=TextBox4.Text";
SqlDataAdapter myCommand=new SqlDataAdapter(strSQL,myConnection);
/*这里不知怎么写了,或者前面的也有错,求各位指点*/
Response.Write("<script language='javascript'> alert('连接成功')</script>");

}
catch
{
Response.Write("<script language='javascript'>alert('连接失败,数据库服务器的名字或用户名或密码有误,请重新输入')</script>");
}

}
说明一下,这是点击一个按钮引发的事件,数据库连接是没问题的。数据库里的“信管”表有“学号”列和“密码”列。求各位赐码。

[此贴子已经被作者于2007-5-13 23:17:12编辑过]

搜索更多相关主题的帖子: SQL 数据库 表里 密码 
2007-05-13 23:15
sldtk1
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:624
专家分:258
注 册:2006-5-4
得分:0 
一个登录界面,你要DataSet和SqlDataAdapter做什么?
[CODE]
using System.Data.SqlClient;
private void Button2_Click(object sender, System.EventArgs e)
{ //这个是连数据库,照搬你的代码
SqlConnection myConnection=new SqlConnection("server=localhost;uid=sa;pwd=123456;database=05xguan");
myConnection.Open(); //打开数据库连接,这个你的代码里没有,这样是连不上数据库的
//以下是确认用户名和密码
SqlCommand myCmd=new SqlCommand("select count(*) from 信管 where 学号='"+this.TextBox3.Text+"' and 密码='"+this.TextBox4.Text+'"",myConnection); //SQL查询语句
int count=Convert.ToInt32(myCmd.ExecuteScalar()); //返回一个指向前的结果集,用Convert.ToInt32转换为数字
if(count>0) //判断是否有数据返回
{
Response.Write("<script>alert('连接成功')</script>"); //验证成功
}
else
{
Response.Write("<script>alert('连接失败')</script>"); //失败
}
myConnection.Close(); //用完了要记得关闭数据库连接,我常忘了写
}
[/CODE]
这些代码我没验证过,没在专门的软件上写,因为错了没提示,少写了某个字或错了不要怪我不过大体是这样,细节还要自己做,而且这些代码是比较基础的,安全性很低,建议去买本资料,大多数资料上也是这种连接方式

[此贴子已经被作者于2007-5-14 12:55:56编辑过]

2007-05-14 12:49
chashen8888
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-5-6
得分:0 
回复:(sldtk1)一个登录界面,你要DataSet和SqlDataA...

谢谢啦!!太感谢了!!!

2007-05-14 12:55
chashen8888
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-5-6
得分:0 
回复:(sldtk1)一个登录界面,你要DataSet和SqlDataA...
试过了,不行。主要是
int count=Convert.ToInt32(myCommand.ExecuteScalar());
if(count>0)
{
Response.Write("<script language='javascript'> alert('连接成功')</script>");
}
这个句子没响应。无论if的条件如何,都不会弹出连接成功
2007-05-14 13:36
chashen8888
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-5-6
得分:0 

我们改变一下思想。选择相应“学号”对应的“密码”,使它与页面上输入的密码对照。如下:
这错,望指正:
private void Button2_Click(object sender, System.EventArgs e)
{
try
{
DataSet ds=new DataSet();
SqlConnection myConnection=new SqlConnection("server=localhost;uid=sa;pwd=123456;database=05xguan");
myConnection.Open();
string strSQL="selete 密码 from 信管 where 学号='"+this.TextBox3.Text+"'";
SqlDataAdapter myCommand=new SqlDataAdapter(strSQL,myConnection);
myCommand.Fill(ds,"信管");/*以下内容不知怎么比较了,可手头上没有参考书。懂得的不妨指点一下。*/
if(TextBox4.Text==ds.Tables[0].Rows[0][0].ToString())
{
Response.Write("<script language='javascript'> alert('连接成功')</script>");
}

}
catch
{
Response.Write("<script language='javascript'>alert('连接失败,数据库服务器的名字或用户名或密码有误,请重新输入')</script>");
}

}

2007-05-14 14:23
beniao
Rank: 2
等 级:新手上路
威 望:4
帖 子:367
专家分:2
注 册:2004-12-17
得分:0 
你着什么急啊.我这不是来了吧.我也是新手,路过这里给你点建议吧.错了别怪我.哈哈``````
我不修改你的了,我自己写个简单的程序给你做参考.
1.连接字符串
string strCon = "Data source = .;database = 数据库名;uid=sa;pwd=;";
2.基本代码(下面代码写在click事件里)
SqlConnection con = new SqlConnection(strCon);
con.open();
string SQLstr = "select * from .................";
SqlCommand com = new SqlCommand(SQLstr,con)
SqlDataReader dr = com.ExecuteReader();
if(dr.Read())
{
Response.Write("<script language='javascript'> alert('连接成功')</script>");
}
else
{
Response.Write("<script language='javascript'> alert('连接NO成功')</script>");
}

博客:http://
2007-05-14 18:16
beniao
Rank: 2
等 级:新手上路
威 望:4
帖 子:367
专家分:2
注 册:2004-12-17
得分:0 
上面是用读取器实现的.还可以用DataSet,HashTable等来实现都可以.在给你说下用DataSet实现吧.
1.连接字符串
string strCon = "Data source = .;database = 数据库名;uid=sa;pwd=;";
2.基本代码(下面代码写在click事件里)
SqlConnection con = new SqlConnection(strCon);
con.open();
string SQLstr = "select * from .................";
SqlDataAdapter da = new SqlDataAdapter(SQLstr,con);
DataSet ds = new DataSet();
da.Fill(ds);
int n = ds.Tables[0].Row.count;//数据集里表格行的总是
if(n==0)
{
Response.Write("<script language='javascript'> alert('连接NO成功')</script>");
}
else
{
Response.Write("<script language='javascript'> alert('连接成功')</script>");
}

大概就这样了,够简单吧``西西`以上程序我是在这里写的,没验证,如有问题可以Q我帮你:469895620

博客:http://
2007-05-14 18:21
sldtk1
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:624
专家分:258
注 册:2006-5-4
得分:0 
以下是引用chashen8888在2007-5-14 13:36:08的发言:
试过了,不行。主要是
int count=Convert.ToInt32(myCommand.ExecuteScalar());
if(count>0)
{
Response.Write("<script language='javascript'> alert('连接成功')</script>");
}
这个句子没响应。无论if的条件如何,都不会弹出连接成功

我刚才编译过了,在我的机子上是可以运行的,你那不知道是什么原因,这样吧,你做一个页面,如果成功就转到这个页面
//页面的重定向
if(count>0)
{
Response.Redirect("Index.aspx");
}
else
{
Response.Redirect("Fail.aspx");
}
当然,如果还是不行,就是你的数据库里没有数据或者连接字符串有问题,记得还要把数据库服务打开,出错了截个图上来看看,大家好分析分析.楼上的方法也不错,SqlDataReader就是从数据源里面读取然后对比,和查询对比是差不多的,都能实现这个功能,个人感觉用DataSet太麻烦了,好像效率不怎么高

2007-05-14 19:10
tel1982
Rank: 3Rank: 3
来 自:水星
等 级:新手上路
威 望:8
帖 子:852
专家分:0
注 册:2006-10-21
得分:0 
这些很简单,你可以上网随便搜索以下,很多的。

Face up to life with smiles no matter what happens
2007-05-15 07:51
chashen8888
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-5-6
得分:0 

各位,终于连好了.具体如下:
private void Button2_Click(object sender, System.EventArgs e)
{

SqlConnection myConnection=new SqlConnection();
string strConn="server=Localhost;uid=sa;pwd=123456;database=05xguan";
myConnection.ConnectionString=strConn;
string strCMD="select * from 信管 where 学号='"+TextBox3.Text+"' and 密码='"+TextBox4.Text+"'";
SqlCommand myCommand=new SqlCommand(strCMD,myConnection);
myCommand.Connection.Open();
SqlDataReader myReader=myCommand.ExecuteReader();
if(myReader.Read())
{
Response.Write("<script language='javascript'>alert('连接成功')</script>");

}
else
{
Response.Write("<script language='javascript'>alert('连接失败,数据库服务器的名字或用户名或密码有误,请重新输入')</script>");
}
myConnection.Close();
多谢所有帮助我的朋友。你们的意见很好,给我很大的启发。无尽感激!!

2007-05-15 21:26



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




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

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