【C#】另一种mysql登录验证方法

第一种方法读取用户帐户密码通过mysql的返回值判读
http://blog.csdn.net/cuiroot/article/details/50352267
之后我在网上又参考了一种方法可惜的是不知道为什么最后判断不出来结果
起初的写法

private void button1_Click(object sender, EventArgs e)
        {
            MySQLConnectionString tConnStr = new MySQLConnectionString("localhost", "user", "root", "zxc123123110", 3306);
                 MySQLConnection tConn = new MySQLConnection(tConnStr.AsString);
            try
            {
                tConn.Open();  //打开连接
                MySQLCommand cmd4 = new MySQLCommand("set names utf8", tConn);
                cmd4.ExecuteNonQuery();

                string tCmd = "select * from user";
                MySQLCommand cmd = new MySQLCommand(tCmd, tConn);  //在定义的tConn对象上执行查询命令
                MySQLDataReader tReader = cmd.ExecuteReaderEx();

                if (tReader.Read())  
                {
                    if ((string)tReader["username"].ToString().Trim() == textBox1.Text && (string)tReader["password"].ToString().Trim() == textBox2.Text)
                    {
                        this.Text = "ok";

                    }
                }

下面是我的数据库表
id username password email
1 nihao 123123
2 wya 123123
我在调试的时候输入第二个id 的账号和密码 发现不显示成功信息 而我输入第一个id的账号和密码的时候却成功的返回了信息这就使我很纳闷 之后我想到我判断

if (tReader.Read())//一行显示一条记录

这就很容易解释了 在运行的时候不管你有多少条数据都只显示id1里面的字段信息 于是加以修改mysql语句就可以成功完成验证

string tCmd = "select * from user";//mysql语句 读user表

改为

string tCmd = "select * from user where username=" + "'"+textBox1.Text+"'"; //直接搜索用户输入的用户名中的表 如果没有判断登录失败

所以说灵活运用才是真

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值