首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

这样为什么不对?该如何解决

2012-02-25 
这样为什么不对?void __fastcall TForm1::Button2Click(TObject *Sender){AnsiString BDateTimePicker1-

这样为什么不对?
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、字符串累加也不是你那样子的

C/C++ code
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 + ")";

热点排行