请问下面这些代码实现的是什么功能?(20分)

  • 主题发起人 主题发起人 likongxu
  • 开始时间 开始时间
L

likongxu

Unregistered / Unconfirmed
GUEST, unregistred user!
函数原型:
function NewTQuery:TQuery;

函数实现:(其中dmFk为DataModule名字,dbFk为数据模块上的TDataBase控件名.)
function NewTQuery:TQuery;
begin

Result:=TQuery.Create(Application);
Result.DatabaseName:=dmFk.dbFk.DatabaseName;
Result.RequestLive:=False;
Result.Close;
end;


使用方法:
function HasExistTheTimeFlagData(const strTermAddr,strAm,strTimeFlag:string):Boolean;
var
strSql:string;

tmpQuery:TQuery;
begin

Result:=False;

tmpQuery:=NewTQuery();
try
strSql:='select terminaladdr from real ';
strSql:=strSql+' where terminaladdr = '+QuotedStr(strTermAddr);
strSql:=strSql+' and ammeterno = '+QuotedStr(strAm);
strSql:=strSql+' and timeflag = '+QuotedStr(strTimeFlag);

if ActiveMyAdoSql(tmpQuery,strSql) then
// 此函数用自己的代码替换;
Result:=tmpQuery.FieldByName('terminaladdr').AsString <> '';
finally
tmpQuery.Free;
end;

end;
 
动态创建TQuery对象...
这样,不需要在窗体设计时放置TQuery的实例...
 
请问:这样用有哪些好处呀?
 
请问function HasExistTheTimeFlagData(const strTermAddr,strAm,strTimeFlag:string):Boolean;
这个函数极其参数是什么意思啊?
 
判断某条记录(也可能是该记录的某个值)是否存在,
几个参数是标识记录的一些字段的值
 
检查指定的strTermAddr,strAm,strTimeFlag相关的terminaladdr是否被设置
 
怎么我在d7里面编译上面的程序总是通不过阿?老是在第一行function NewTQuery:TQuery;
就出错.说什么TQuery没有定义.TQuery不是现成的类吗?
 
TQuery是DBTables定义的,你应该Uses先...
 
基础先弄清了再来看别人的代码,这时候看没有注解的代码是不是很头痛呀,所以你以后
在写代码的时候可要有加注解的习惯哟
 
谢谢yanghaijun及各位。前面那个动态生成查询语句在各位的指点和自己的调试下已经知道是怎么回事情了.
但是我实在想不通后面那个函数原型:
function HasExistTheTimeFlagData(const strTermAddr,strAm,strTimeFlag:string):Boolean;
的意义到底是什么?特别是那几个参数的含义.
还有strSql:='select terminaladdr from real ';
这个语句里面的terminaladdr和real是面向特定表格的还是delphi里面的关键字?
 
real应该是一个表
terminaladdr应该是表中的字段(程序想要获取的值)
几个参数也应该是表中的字段
 
后退
顶部