这是我第一次在 StackOverflow 上提问,所以如果我问了不恰当的人,我提前道歉。在过去的几天里,我在研究这个问题时找不到任何可以帮助我的东西,所以提前感谢任何试图提供帮助的人。
我正在制作一个允许人们注册和登录的数据库。我在 VS2012 中使用 C#。下面是我的登录代码,我在测试时遇到了一些麻烦。它遍历数据库中的每个人,并告诉我登录失败,直到它到达正确的用户。
private void button1_Click_1(object sender, EventArgs e)
{
try
{
cn.Open();
}
catch (Exception)
{
MessageBox.Show("Did not connect");
}
SqlCommand cmd = new SqlCommand("SELECT * FROM [Users]", cn);
cmd.Connection = cn;
SqlDataReader reader = null;
reader = cmd.ExecuteReader();
while (reader.Read())
{
if (textBox1.Text == (reader["Username"].ToString()) && textBox2.Text == (reader["Password"].ToString()))
{
MessageBox.Show("Logged in");
}
else
{
MessageBox.Show("Login has failed. Please check your Username and Password.");
}
}
cn.Close();
}
至于我的注册部分,我不确定它是 VS2012 还是什么,但是在我结束调试后信息并没有保存到数据库中,然后再次返回调试。
private void button1_Click_1(object sender, EventArgs e)
{
cn.Open();
SqlCommand cm1 = new SqlCommand("INSERT INTO Users (Username, Password) VALUES (@Username, @Password)", cn);
SqlCommand cm2 = new SqlCommand("INSERT INTO Contact(Name, Address, City, State, PostalCode, Email, PhoneNumber) VALUES(@Name, @Address, @City, @State, @PostalCode, @Email, @PhoneNumber)", cn);
cm1.Parameters.AddWithValue("@Username", textBox1.Text);
cm1.Parameters.AddWithValue("@Password", textBox2.Text);
cm2.Parameters.AddWithValue("@Name", textBox3);
cm2.Parameters.AddWithValue("@Address", textBox4);
cm2.Parameters.AddWithValue("@City", textBox5);
cm2.Parameters.AddWithValue("@State", textBox6);
cm2.Parameters.AddWithValue("@PostalCode", textBox7);
cm2.Parameters.AddWithValue("@Email", textBox8);
cm2.Parameters.AddWithValue("@PhoneNumber", textBox9);
try
{
int affectedRows = cm1.ExecuteNonQuery(); //+cm2.ExecuteNonQuery();
if (affectedRows > 0)
{
MessageBox.Show("Insert Sucsess!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Insert Failed!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
cn.Close();
}