當命令到達cmd.ExecuteNonQuery
時,我收到「語法錯誤」錯誤消息。使用OLE DB插入到數據庫表中.NET提供程序將不起作用
重要的是我使用string.Format
,並且結構保持儘可能接近當前結構。
{
OleDbConnection con = DAL.GetConnection();
con.Open();
if (con.State == ConnectionState.Open)
{
string s = string.Format("INSERT INTO DataTable1 (Username, Password, FName, LName, Bdate, Sex, City, Mail) VALUES ('{0}', '{1}', '{2}', '{3}', #{4}#, {5}, {6}, '{7}')", uname, pass, fname, lname, bd, sex, city, mail);
OleDbCommand cmd = DAL.GetCommand(con, s);
int check = cmd.ExecuteNonQuery();
if (check == 0)
{
con.Close();
Response.Redirect("Reg.aspx?err=-An error has occured. Please try again-");
}
謝謝。
寫這樣的SQL留給你[SQL注入攻擊](http://bobby-tables.com)... – 2013-04-21 18:52:29
我知道使用string.format很重要,但我有一個建議給你。不要使用string.Format。檢查預先準備的語句或參數。 – 2013-04-21 19:02:28