我試圖從MySql服務器驗證用戶名和密碼。登錄驗證正在發揮作用,但我不能爲了我的生活找出爲什麼「創建新用戶」驗證不起作用。ASP.NET C#驗證用戶名和密碼
以下是註冊新用戶的代碼。會發生什麼事;
catch (Exception)
{
Label1.Text = "Brukernavnet er allerede i bruk";
}
看起來這部分^是破壞它,我不知怎麼的,每當我試運行此代碼,我得到這個消息。
protected void newBtn_Click(object sender, EventArgs e)
{
String cs = "Database=trafikkskole; User=user; Password=password";
MySqlConnection dbconnect = new MySqlConnection(cs);
try
{
dbconnect.Open();
cmd.CommandText = "INSERT INTO user (username, password) VALUES (@un, @pw)";
cmd.Parameters.AddWithValue("@un", inputUser.Text);
cmd.Parameters.AddWithValue("@pw", inputPw.Text);
cmd.Connection = dbconnect;
int a = cmd.ExecuteNonQuery();
if (a > 0)
{
Label1.Text = "Gratulerer! Du har nå laget en bruker!";
}
else
{
Label1.Text = "ERROR";
}
}
catch (Exception)
{
Label1.Text = "Brukernavnet er allerede i bruk";
}
finally
{
dbconnect.Close();
}
}
}
編輯:
如果我試着這樣說:
protected void newBtn_Click(object sender, EventArgs e)
{
String cs = "Database=trafikkskole; User=root; Password=root";
MySqlConnection dbconnect = new MySqlConnection(cs);
String sql = "SELECT * FROM user";
MySqlCommand cmd = new MySqlCommand(sql, dbconnect);
da = new MySqlDataAdapter(cmd);
MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
ds = new DataSet("TEST");
da.Fill(ds, "user");
Response.Write(ds.Tables["user"].Rows.Count);
try
{
dbconnect.Open();
cmd.CommandText = "INSERT INTO user (username, password) VALUES (@un, @pw)";
cmd.Parameters.AddWithValue("@un", inputUser.Text);
cmd.Parameters.AddWithValue("@pw", inputPw.Text);
cmd.Connection = dbconnect;
int a = cmd.ExecuteNonQuery();
if (a > 0)
{
Label1.Text = "Gratulerer! Du har nå laget en bruker!";
}
else
{
Label1.Text = "ERROR";
}
}
catch (Exception Exception)
{
Label1.Text = "Brukernavnet er allerede i bruk";
}
finally
{
dbconnect.Close();
}
}
}
這與使用戶無需用戶名或密碼的可能性結束。
請問您可以使用您的例外日誌進行編輯。比如'catch(Exception ex) {Debug.Writeline(ex.ToString()); }' – amarnath
如果你試圖捕獲插入的結果,而不是把'int a = cmd.ExecuteNonQuery();'嘗試用'int a = cmd.ExecuteScalar();' – Flxtr
@amarnath 我唯一可能產生的是: CS0169字段'login.da'從不使用。 CS0169字段'login.ds'從不使用。 CS0169字段'login.cb'從不使用。 –