SQL2000数据库与C#代码进行链接 我做了一个登陆的窗体 登陆时验证数据库中的用户名和密码一致才能登陆

来源:百度知道 编辑:UC知道 时间:2024/06/17 17:29:26
这是我的代码帮忙看看哪不对!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace 人事管理系统
{
public partial class 登陆窗体 : Form
{
public 登陆窗体()
{
InitializeComponent();
}
public static bool ispass;
private void button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=20081229-1110.;Initial Catalog=RSManage;User ID=sa;Password=sa"; //连接字符串

String st = "select * from SyUser";
SqlDataAdapter sda = new SqlDataAdapter(st,conn);
DataSet ds = new DataSet();
sda.Fill(ds,"SyUser");

我一般做法是查询数据库中的数据.匹配用户名和密码.看看能不能select出数据来
如果select之后存在行.表示用户名密码存在.那么就通过验证了....

所以sql查询语句就变成了
select * from SyUser where username=@username and pwd=@pwd
@username @pwd都是参数.丢进去就OK了.这样可以防止一些注入....方便点.

如果按照你现在写的方法.把所有用户数据查出来一个一个匹配.循环到你郁闷.效率是个问题

绝对有问题,你没有使用try...catch...你这样写,连编译都无法通过
还有,你验证的时候(第一个for循环)过于罗嗦.思维比较乱.由于你的验证麻烦,所以让最后一个if也变的罗嗦了.
你再仔细想想有什么更加简单的逻辑来实现上面的功能吧.
不过,你的算法是正确的

。。。
直接用用户名和密码做查询条件不就行了,搞循环干嘛。