第一种方法读取用户帐户密码通过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+"'"; //直接搜索用户输入的用户名中的表 如果没有判断登录失败
所以说灵活运用才是真