ASP 操作access ,insert语句中怎么使用占位符?
asp.net中c#连SQLServer可以写成这样:cmdtext= "INSERT INTO user(num,city,cardtype) VALUES(@num,@city,@cardtype)".
asp中javascript连access就不知道怎么写了,写成这样
cmdtext= "INSERT INTO user(num,city,cardtype) VALUES(@num,@city,@cardtype)",
就报inert语句语法错误。
code:
var connstring = "Data Source=...;Provider=Microsoft.Jet.OLEDB.4.0;User ID=; Password=; ";
var cmdtext= "INSERT INTO user(num,city,cardtype) VALUES(@num,@city,@cardtype)";
var conn = Server.CreateObject("ADODB.Connection");
var parameters = [];
parameters[0] = Server.CreateObject("ADODB.Parameter");
parameters[0].Name = "num"; // name
parameters[0].Type = 200; // 200 = adVarChar
parameters[0].Size = 20; // size
parameters[0].Direction = 1; // 1 = adParamInput
parameters[0].Value = val.num; // value
//parameters[1]...
//parameters[2]...
conn.open(connstring);
var cmd = Server.CreateObject("ADODB.Command");
if(conn.State == 0){//0 = adStateClosed
conn.open(this.connstring);
}
cmd.ActiveConnection = conn;
cmd.CommandType = 1;//1 = adCmdText
cmd.CommandText = cmdtext;
cmd.Prepared = true;
if(parameters != null){
for(var i =0; i<parameters .length; i++){
cmd.Parameters.Append(parameters [i]);
}
}
cmd.Execute();