一个带参数插入语句的写法问题探讨
很简短的一段代码:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TQuery *q1=new TQuery(NULL);
try
{
if ( dbDiary->Connected ==false)
{
dbDiary->Params->Values["USER NAME"] = "sa";
dbDiary->Params->Values["PASSWORD"] = "";
dbDiary->Connected = true;
}
q1->DatabaseName="MyDatabase";
q1->Close();
q1->SQL->Clear();
AnsiString strSql=" insert into Table1 values(:v1,:v2:,v3) ";
for(int i=1;i<11;i++)
{
q1->SQL->Add(strSql);
q1->Params->Items[0]->AsInteger=i;
q1->Params->Items[1]->AsString="Li'u";
q1->Params->Items[2]->AsString="s'econd";
}
q1->ExecSQL();
delete q1;
}
catch(const Exception &E)
{
delete q1;
throw;
}
}
大家应该也能够看懂我的意思。我是想插入10条不同的sql语句,但是执行结束后查询table1表(没有设置主键)中发现插入的10条sql语句居然是相同的。
不带参数的sql语句执行直接用insert into table1 values(i,'liu','tan') 是没有问题的。
有没有人能够帮忙分析一下带参数的插入语句怎样批量执行呢?跪谢啦!!