110,567
社区成员
发帖
与我相关
我的任务
分享
private void button1_Click(object sender, EventArgs e)
{
string name = textBox1.Text.Trim();
string pin = textBox2.Text.Trim();
MySqlConnectionStringBuilder sb = new MySqlConnectionStringBuilder();
sb.Server = "127.0.0.1";
sb.Port = 3306;
sb.Database = "tracesystem";
sb.UserID = "root";
sb.Password = "123456";
sb.CharacterSet = "gb2312";
MySqlConnection con = new MySqlConnection(sb.ConnectionString);
con.Open();
{
String query = "select * from user;select * from pin";//表一select * from user里面有个pin字段,表二select * from pin里面也有个PIN字段
MySqlCommand cmd = new MySqlCommand(query, con);
MySqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
string username = dr["username"].ToString();
string pin1 = dr["pin"].ToString();
string pin2 = dr.Table["pin"].ToString();//这里如何判断select * from pin 表的PIN字段内容
if (textBox1.Text == username)
{
MessageBox.Show("该用户已存在,请重新注册!");
return;
}
else if (textBox2.Text == pin1 | textBox2.Text != pin2)
{
MessageBox.Show("注册码不正确或已被使用,请重新输入,或联系管理:15307358087 获取!");
return;
}
}
string insert = "insert ignore into user(username,password,userlogin,jurisdiction,qq,phone,email,ip,logintime,locked,data,pin) values('" + name + "'," + "'" + password + "'," + "'" + userlogin + "'," + "'" + jurisdiction + "'," + "'" + qq + "'," + "'" + phone + "'," + "'" + email + "'," + "'" + ip + "'," + "'" + logintime + "'," + "'" + locked + "'," + "'" + data + "'," + "'" + pin + "')";
MySqlCommand cmd2 = new MySqlCommand(insert, con);
dr.Close();
cmd2.ExecuteNonQuery();
MessageBox.Show("注册成功!");
}
}
}
select 1 from user where username = @username limit 1;
select 1 from pin where pin=@pin limit 1;
dr.NextResult()
另外,你这个用count(*)然后用ExecuteScalar()读数据是否为零来判断数据是否存在就好了吧,没有必要用ExecuteReader()和while
直接用where查,怎么能全查完在比?
sb.CharacterSet = "gb2312";
改为
sb.CharacterSet = "utf8";