如何自动向表中输入数据?

joann 2002-06-30 02:48:06
例如:表有'rq','payment'两个字段,设定当前日期为'2001-06-30',则
如何自动向表中'rq'字段输入如下数据
'2001-06-30'
'2001-07-30'
'2001-08-30'
'2001-09-30'
...
...

'2002-05-30'
...全文
24 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
joann 2002-07-03
  • 打赏
  • 举报
回复
根据johnsonrao(johnson)回复运行结果为:
'2001-06-30'
'2001-06-30'
'2001-06-30'
'2001-06-30'
'2001-06-30'
'2001-06-30'
'2002-06-30'
'2002-06-30'
'2002-06-30'
'2002-06-30'
'2002-06-30'
'2002-06-30'
月份没有根据要求变化



johnsonrao 2002-06-30
  • 打赏
  • 举报
回复
SQL.Add('Insert into table rq values(:rq));
johnsonrao 2002-06-30
  • 打赏
  • 举报
回复
以下代码经过调试,并处理2月28日问题

var yy,mm,dd : word;
i,j,k: Integer;
begin
decodedate(date,yy,mm,dd);
yy:=yy-1;
k:=dd;

with query1 do
begin
Close;
SQL.Clear;
SQL.Add('Insert into table rq values(:rq);
end;

for i:=0 to 11 do
begin
j:=(mm+i) mod 12;
if j=0 then j:=12;
if (j=2) and (dd>28) then k:=28;
Query1.ParamByName('rq').asDateTime
:=EnCodeDate(yy,mm,dd);
Query1.ExecSQL;
if j=12 then yy:=yy+1;
k:=dd;
end;
end;
johnsonrao 2002-06-30
  • 打赏
  • 举报
回复
var yy,mm,dd : word;

decodedate(date,yy,mm,dd);
yy:=yy-1;

with query1 do
begin
Close;
SQL.Clear;
SQL.Add('Insert into table rq values(:rq);
end;

for i:=0 to 11 do
begin
mm:=(mm+i) mod 12;
if mm=0 then mm:=12;
Query1.ParamByName('rq').asDateTime
:=EnCodeDate(yy,mm,dd);
Query1.ExecSQL;
if mm=12 then yy:=yy+1;
end;
end;
joann 2002-06-30
  • 打赏
  • 举报
回复
如何用触发器?
yansea 2002-06-30
  • 打赏
  • 举报
回复
你用的不是paradox或者access吧,那好,用触发器吧。
在服务器端写。

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧