我的登錄表單在以前正常工作,但是因爲我添加了一個新行來獲取登錄用戶的LoginId,它只是爲第一條記錄(在登錄表中)以及所有剩下的,就說明這個錯誤沒有一行位置0在位置0處沒有行,在登錄頁面
這裏是我的代碼
SqlConnection con = new SqlConnection(@"Data Source=.\Aroona;Initial Catalog=ACSDatabase;Integrated Security=True;Pooling=False");
SqlDataAdapter loginadp = new SqlDataAdapter("SELECT * FROM Login WHERE username = '" + uName.Text + "' AND password = '" + pWord.Text + "' ", con);
DataTable dt = new DataTable();
loginadp.Fill(dt);
log_id = Convert.ToInt32(dt.Rows[0][0]);
// MessageBox.Show("Your ID is : " + log_id);
if (dt.Rows[0][0].ToString() == "1")
{
if (uName.Text == "Admin")
{
MPageAdmin mpa = new MPageAdmin();
mpa.Show();
this.Hide();
}
else
{
Main_Page mp = new Main_Page(this.UserName,this.log_id);
mp.Show();
this.Hide();
}
}
else
{
label4.Visible = true;
label4.Text = "Username or Password Incorrect!";
}
我加入這一行
log_id = Convert.ToInt32(dt.Rows[0][0]);
但事實是,它不即使我將其刪除也可以工作。
爲什麼表中藥水0沒有排?
你好,SQL注入。另外,爲什麼你期待2維數組? – 48klocs
如果您的代碼沒有更改,那麼您的數據庫內容已更改。直接在您選擇的數據庫工具中運行結果查詢並查看返回結果。順便說一下:上面的代碼很容易被濫用於惡意SQL注入!請不要在敏感數據或任何測試項目之外使用它,請! – Krumelur
我在行0列0上檢查它,依此類推。什麼可能是SQL注入的解決方案? – Aroona