所以我只是在寻找如何做一个“INSERT INTO”查询,发现这一点:
sql="INSERT INTO Customers (ID,firstName,"
sql=sql & "lastName)"
sql=sql & " VALUES "
sql=sql & "('" & Request.Form("id") & "',"
sql=sql & "'" & Request.Form("firstname") & "',"
sql=sql & "'" & Request.Form("lastname") & "')"
我知道它的工作原理,但我想使它成为一个单一的查询,而所有的SQL = SQL的
你把一个快速黑客的路线作为您的意见做rhis指出:
sql="INSERT INTO Customers (ID,firstName,lastName) VALUES ('" & Request.Form("id") & "','" & Request.Form("fistname") & "','" & Request.Form("lastname") & "')"
让我指出,为防止一些问题依然存在(SQL注入是其中之一),你可以利用使用paramterized查询。
我假设你的SQL语句后有一个ADO命令的地方。 如果您使用命令参数从网站查询发送参数是要安全得多。
command.CommandText = "INSERT INTO Customers (ID,firstName,lastName) VALUES (?,?,?)"
Set param = command.CreateParameter ("id", adInteger, adParamInput)
param.value = Request.Form("id")
command.Parameters.Append param
Set param2 = command.CreateParameter ("firstname", adVarWChar, adParamInput, 50)
param2.value = Request.Form("firstname")
command.Parameters.Append param2
Set param3 = command.CreateParameter ("lastname", adVarWChar, adParamInput, 50)
param3.value = Request.Form("lastname")
command.Parameters.Append param3
command.Execute
看看Command对象参数的详细背景。
你可以这样做:
string sql = string.Format("INSERT INTO Customers(Id,FirstName,LastName) VALUES({0},'{1}','{2}')", param0, param1, param2);
有用! 但要小心,这种方式有SQL注入的问题。