c#用户界面登陆密码和用户名如何与SQL数据库对照

用C#做了一个登陆界面,textbox1.text为用户编号textbox2.text为密码,点击登陆后如何与SQL数据库连接并进行对照~~初学者~~请大家给一段程序,并... 用C#做了一个登陆界面,textbox1.text为用户编号textbox2.text为密码,
点击登陆后如何与SQL数据库连接并进行对照~~初学者~~请大家给一段程序,并付有代码说明!!谢谢
展开
 我来答
人称张sir
推荐于2016-06-10 · 超过20用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:45.1万
展开全部
string username = textbox1.Text.Trim();
string userpwd = textbox2.Text.Trim();

string sqlStr = "server=.;database=数据库名;uid=sa;password=数据库密码";//连接数据库字符串
SqlConnection con = new SqlConnection(sqlStr);//连接数据库
con.Open();//打开连接
string cmdStr = "select * from 数据库名.表名 where 数据库用户表里面的用户名对应的字段名='" + username + "' and 数据库用户表里面的用户密码对应的字段名='" + userpwd + "'";//定义查询语句
SqlCommand sqlCom = new SqlCommand(cmdStr, con);//定义查询命令
SqlDataReader sRead = sqlCom.ExecuteReader();//执行查询
if (sRead.Read())//if(sRead.Read())的意思是,如果能查找到

//执行到这里表示用户名和密码正确
//要执行什么动作,自行添加
百度网友e25fdac64
2010-01-08 · TA获得超过143个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:80.3万
展开全部
用一条查询语句,如果得到的结果集有一条数据就为真,进入程序下一步,否则返回Return,例如:select * from tablename where name = extbox1.text,pw = textbox2.text
获取结果集dataset.table(tablename).rows.count 如果 大于0 则为真。否则为假。
http://hi.baidu.com/jonesvale/blog/item/15afaecd2c66661800e9285f.html

参考资料: http://hi.baidu.com/jonesvale/blog/item/15afaecd2c66661800e9285f.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郭某人来此
2015-09-30 · TA获得超过1646个赞
知道答主
回答量:952
采纳率:100%
帮助的人:91.1万
展开全部
给你个方法,是从我程序中拿出来单独添加了数据库连接的,
调用方法
if IsValidUsers(textbox1.Text.Trim(),textbox2.Text.Trim()){
//正常登陆的操作
}
else{
//错误提示
}
/// <summary>
/// 判断登录是否合法
/// </summary>
/// <param name="userName">用户名</param>
/// <param name="password">密码</param>
/// <returns>bool</returns>
public bool IsValidUsers(string userName,string password){
bool ValidUsers = false;//是否合法
string sqlString = string.Empty;
string connectionString = string.Empty;//连接字符串
connectionString ="server=.;database=dbName;uid=sa;pwd=123456;Max Pool Size=512"
SqlConnection sqlConnection;
sqlConnection = new SqlConnection();
sqlConnection.ConnectionString = connectionString;
sqlConnection.Open();
try
{
sqlString = "SELECT id FROM [User] WHERE UserName='" + userName + "'" + " AND Password='" + password + "'";
SqlCommand sqlCom = new SqlCommand();
sqlCom.Connection = sqlConnection;
sqlCom.CommandText = sqlString;
SqlDataReader sda;
sda = sqlCom.ExecuteReader();
if (sda.HasRows)
{
ValidUsers = true;
}
}
catch (Exception e) { }
finally {
sqlConnection.Close();
}
return ValidUsers;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fancyivan
2010-01-08 · TA获得超过837个赞
知道小有建树答主
回答量:633
采纳率:0%
帮助的人:438万
展开全部
步骤:
1。创建数据库连接,如果连不上,报错,返回登录界面。
2。连上后,根据用户名去读保存user信息的那个数据表,得到该user的信息,如密码,级别,权限等等。
3。如果不存在此user,报错,返回登录界面。
4。存在此user,判断密码是否相等,相等则进行主程序界面,不等就报错。

ps:
1。可以整个报错的类统一处理。
2。user表中的密码应该是加密后的,最好别用明码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tianya085
2010-01-08 · 超过21用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:39万
展开全部
给你个方法,是从我程序中拿出来单独添加了数据库连接的,
调用方法
if IsValidUsers(textbox1.Text.Trim(),textbox2.Text.Trim()){
//正常登陆的操作
}
else{
//错误提示
}
/// <summary>
/// 判断登录是否合法
/// </summary>
/// <param name="userName">用户名</param>
/// <param name="password">密码</param>
/// <returns>bool</returns>
public bool IsValidUsers(string userName,string password){
bool ValidUsers = false;//是否合法
string sqlString = string.Empty;
string connectionString = string.Empty;//连接字符串
connectionString ="server=.;database=dbName;uid=sa;pwd=123456;Max Pool Size=512"
SqlConnection sqlConnection;
sqlConnection = new SqlConnection();
sqlConnection.ConnectionString = connectionString;
sqlConnection.Open();
try
{
sqlString = "SELECT id FROM [User] WHERE UserName='" + userName + "'" + " AND Password='" + password + "'";
SqlCommand sqlCom = new SqlCommand();
sqlCom.Connection = sqlConnection;
sqlCom.CommandText = sqlString;
SqlDataReader sda;
sda = sqlCom.ExecuteReader();
if (sda.HasRows)
{
ValidUsers = true;
}
}
catch (Exception e) { }
finally {
sqlConnection.Close();
}
return ValidUsers;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式