这样为什么不对?
void __fastcall TForm1::Button2Click(TObject *Sender)
{
AnsiString B=DateTimePicker1->Date;
AnsiString A="INSERT INTO TABLEACCOUNT(FDATE)VALUES(B)";
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(A);
ADOQuery1->Open();
}
TABLEACCOUNT 表
FDATE FMONEY 字段
我想在按下Button2的时候在表TABLEACCOUNT中添加一行日期为DateTimePicker1->Date的项,但是报错了。
如果这种方法行不通,那么是否有其他方法呢??希望能帮帮我 ,谢谢!
[解决办法]
INSERT \ update 等 没有返回集的sql执行语句
要用
ADOQuery1->ExecSQL();
select 语句才用 ADOQuery1->Open();
[解决办法]
你的SQL 语句也有问题的
1、B是字符串 带到SQL语句里 要加''
2、字符串累加也不是你那样子的
AnsiString A ;A=AnsiString().sprintf("INSERT INTO TABLEACCOUNT(FDATE) VALUES('%s')",B.c_str()) ;ADOQuery1->Close(); ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(A); ADOQuery1->ExecSQL();
[解决办法]
AnsiString A="INSERT INTO TABLEACCOUNT(FDATE)VALUES(" + B + ")";