有关BCB环境下,判断ADO是否有记录的问题(100分)

  • 主题发起人 主题发起人 steelbutt
  • 开始时间 开始时间
S

steelbutt

Unregistered / Unconfirmed
GUEST, unregistred user!
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TADOQuery* Query;
AnsiString s_Temp,s_Temp1;
int i_Temp;
s_Temp1 = "Name2";
Query = new TADOQuery(this);
Query->Connection = ADOCMain;
s_Temp = "Select "+s_Temp1+" from Address";
Query->SQL->Text = s_Temp;
i_Temp = Query->FieldCount;
if(i_Temp)
ShowMessage("存在");
}
这里的fieldCount是这样用的吗?
小弟想解决的问题是这样子的:
判断Address表中是否存在某一记录
如果存在,进行相应的操作
如果不存在,则新增记录(有没有什么函数可以直接用?)

实现过程中一定不要出现的是:如果找不到记录,不要弹出错误对话框。
谢谢了
 
1、楼主,您的语言表达能力很让人伤心...
2、你究竟是要问是否有记录存在(表是否空),还是问是否有某一条特定记录存在?
Select Name2 from Address 这是查询某一特定记录么?起码得用下 Where 才行吧?
如果是问表是否为空,有个简单的办法,Eof 和 Bof 同时为 True 就表示表为空...
3、我的话您能听懂么?
 
vvyang说的很对, 不过可以补充;
楼主的思路是正确的, 不过代码中最关键的错误: 没有打开数据表(集)
 
FieldCount是指表字段的数量,RecordCount才是数据的数量。
 
1.打开数据集
Query->SQL->Text = s_Temp;
query.Open;//delphi 中~
...
2.FieldCount字段改为 RecordCount
i_Temp = Query->RecordCount;//delphi 中用该字段表示记录 条数
或者用 query.IsEmpty 判断也行~
 
后退
顶部