小弟还是新手,做毕业设计过程中碰到数据库及Delphi控件属性的问题。
还请大侠留步帮忙,急。
有三个函数有问题。请帮忙修改。
1.
点击Button1获取过期号码(DBGRid+query+datasource)
这里的过期即现在日期减去数据库中的日期。
procedure TForm_dbxx.Button1Click(Sender: TObject);
Var Str1:string;
begin
with Query1 do
begin
Close;
Sql.Clear;
Str1:='Select kh_tel'+
'From "khxx.DB" khxx INNER JOIN "glfxx.DB" glfxx ON (khxx.kh_id=glfxx.kh_id)'+
'Where date-glfxx.glf_enddat<=365';
Query1.SQL.Add(Str1);
Open;
end;
end; 点击按钮获取欠费号码(DBGRid+query+datasource)
procedure TForm_dbxx.Button2Click(Sender: TObject);
begin
with Query1 do
begin
Close;
Sql.Clear;
Sql.ADD('Select kh_tel From khxx Where khxx.jf_zt='未清'');
Open;
end;
end; 短信自动回复
procedure TForm_main.Modem1recvMsg(ASender: TObject; const phoneNO, recvTime,
MsgContent: WideString);
Var Str1,Str2:string;
Var Str3:string;
Var Str4,Str5,Str6:string;
begin
StatusBar1.Panels[4].Text:='收到新消息';
Str1:=copy(MsgContent,1,13);
Str2:=copy(MsgContent,14,2);
with Query1 do
begin
Close;
SQL.Clear;
Str3:='SELECT kh_id'+'From "khxx.DB" khxx'+
'Where kh_id=Str1';
Query1.SQL.ADD(Str3);
Query1.Open;
IF Query1.RecordCount<>0 then
IF Str2='01' then
with Query2 do
begin
SQL.Clear;
Str4:='SELECT * From khxx';
Str4:='您好!这是您的客户信息:'+Str4;
Query2.SQL.ADD(Str4);
Query2.ExecSQL;
end;
modem1.sendMsg(phoneNO,Str4);
IF Str2='02' then
with Query2 do
begin
SQL.Clear;
Str5:='SELECT * From glfxx';
Str5:='您好!这是您的管理费信息:'+Str5;
Query2.SQL.ADD(Str5);
Query2.ExecSQL;
end;
modem1.sendMsg(phoneNO,Str5);
IF (Str2<>'01') And (Str2<>'02') then
Str6:='您的输入格式有误!'+
'正确格式为:客户ID号+01 查询客户信息;' +
'客户ID号+02 查询管理费信息' ;
modem1.sendMsg(phoneNO,Str6);
end;
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('INSERT into JSXX(RecvTime,Phone,Content) VALUES(:time1,:phone1,:content1)');
ParamByName('time1').AsString := trim(recvTime);
ParamByName('phone1').AsString := trim(phoneNO);
ParamByName('content1').AsString := trim(MsgContent);
ExecSQL;
end; end;
解决方案 »
- 列出局域网所有计算机资源(包括机器名、共享文件夹)
- 请教各位大侠一个TDateTimePicker的问题,假如界面上显示为2005-05,我想在程序中得到这个时间的上一个月和下一个月,怎么做?
- 数据库备份和线程的问题。急!
- 文本操作问题,up有分(500分支持)
- 大家讨论delphi时间和sql server时间不统一问题
- Delphi+BDE+Oracle,关于200分的问题!
- 怎么样读出sybase数据库里所有的表名,急~~~~~~~~谢谢!
- 高手请进,高分相送!
- 高手请进!如何使用TWebbrowser来保存网页里验证码的图片!仅只需获取证码的图片流!谢谢
- 高手请进,如何将数据表琐住,只让一个用户修改,请各位高手不吝赐教
- 求一个sql语句!!着急!!在线等!!
- 如何在DELPHI中返回SQL的错误,并形成相应的异常类
begin
SQL.Clear;
Str4:='SELECT * From khxx';
Str4:='您好!这是您的客户信息:'+Str4;
Query2.SQL.ADD(Str4);
Query2.ExecSQL;
end; 类似这样的语句是做什么的,能执行吗?
insert,delete,update等才用ExecSql来执行
procedure TForm_dbxx.Button1Click(Sender: TObject);
var
Str1:string;
begin
with Query1 do
begin
Close;
Sql.Clear;
Str1:='Select a.kh_tel From [khxx.DB].[dbo].[khxx] a INNER JOIN [glfxx.DB].dbo.[glfxx] b ON
a.kh_id=b.kh_id) where b.glf_enddat >= DATEADD(yy,-1,getdate())';
SQL.Add(Str1);
Open;
end;
end;
Token:[khxx.DB].[dbo].[khxx]
Str4:='您好!这是您的客户信息:'+Str4; 这样的都
Str4:='/*您好!这是您的客户信息:*/'+Str4;来进行标识出现错误Invalid use of keyword 看似你的表中用到了数据库中的关键字了
数据库中关键字不能用么?
procedure TForm_dbxx.Button1Click(Sender: TObject);
var
Str1:string;
begin
with Query1 do
begin
Close;
Sql.Clear;
Str1:='Select a.kh_tel From khxx a INNER JOIN glfxx b ON
a.kh_id=b.kh_id where b.glf_enddat >= DATEADD(yy,-1,getdate())';
SQL.Add(Str1);
Open;
end;
end;
如果你的connection已经指定了数据库,可以直接用表名
用了你的语句之后,出现错误Project CEMETERY.exe raised exception class EDBEngineError with message 'Capability not support.'什么错误?
Query只能访问单表么?
要不你换个数据库,呵呵
只能采用最低级手段咯。。