这是我的代码,通过循环得到strNo递加的值,我刚学delphi,不知道到底怎么做?求高手指点
procedure TForm1.RzBitBtn1Click(Sender: TObject);
var
Inc,strNo:string;
begin
with ADOQuery1 do begin
while not ADOQuery1.Eof do
begin
strNo:='00001'+'0000'+IntToStr(1);
inc(1);
next;
end;
错误报告:[Error] Unit1.pas(57): Missing operator or semicolon
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
procedure TForm1.RzBitBtn1Click(Sender: TObject);
var
Inc,strNo:string;
begin
with ADOQuery1 do begin
while not ADOQuery1.Eof do
begin
strNo:='00001'+'0000'+IntToStr(1);
inc(1);
next;
end;
错误报告:[Error] Unit1.pas(57): Missing operator or semicolon
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
解决方案 »
- Delphi2010 + win7(64位),断点调试为什么不起作用?有人知道么?
- 有关thread的疑惑
- InstallShield 10.0 sp2 怎么用他制作中文安装程序?
- 哪个dbgrid的第三方控件能实现:把标题的一个字段格移到上方,此dbgrid的数据就能按这个字段来分组....
- 请问哪里有delphi服务程序的例子下载?
- 比较两幅大小不同的图象,如何确定两幅图象是否相同
- 如何用mediaplalyer播放rm格式的文件??
- Treeview的level,selected,index等属性表示什么意思?
- 单机下SocketConnection怎么用?
- 各位开发MIS都用些什么控件以提高效率?(VB&DELPHI)
- 设置dbgrid的columns中的fieldname属性时,弹出ADOquery1 missing SQL property是怎么回事?
- delphi indy
procedure TForm1.RzBitBtn1Click(Sender: TObject);
var
iNo:Integer;
Inc,strNo:string;
begin
with ADOQuery1 do begin
while not ADOQuery1.Eof do
begin
strNo:='00001'+'0000'+IntToStr(iNo);
inc(iNo); ----这里出错
next;
end;
end;
错误报告:[Error] Unit1.pas(57): Missing operator or semicolon
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
var
i:integer;
strNo:string;
begin
with ADOQuery1 do
begin
open;
first;
i:=1;
while not Eof do
begin
strNo:='000010000'+IntToStr(i);
inc(i);
next;
end;
end;
end;
var
iNo:Integer;
strNo:string;
begin
with ADOQuery1 do begin
while not Eof do begin
strNo:='00001'+'0000'+IntToStr(iNo);
inc(iNo);
next;
end;
end;
end;
具体情况是这样的,完整的程序没有报错,但是让我的程序中的sGUID失去作用了,每一行的sGUID都是一样的了!!以下是我的完整程序,高手看看,哪儿该修改!~~谢谢了!~~
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzButton, ADODB, Provider, DBClient, DB, Grids, DBGridEh,
RzShellDialogs,comObj,ActiveX, StdCtrls;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
DBGridEh1: TDBGridEh;
DataSource1: TDataSource;
ADOConnection2: TADOConnection;
ADOQuery1: TADOQuery;
DataSource2: TDataSource;
DBGridEh2: TDBGridEh;
RzBitBtn1: TRzBitBtn;
ADOQuery2: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure RzBitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
try
ADOConnection2.Connected:=true;
ADOConnection1.Connected:=true;
Except
Application.MessageBox('数据库连接失败,请检查参数!','警告',mb_iconwarning)
end;
end;procedure TForm1.RzBitBtn1Click(Sender: TObject);
var
I,iNo:Integer;
sGUID,strNo:string;
TmpGUID:TGUID;
begin
with ADOQuery2 do begin
ADOQuery2.SQL.clear;
ADOQuery2.SQL.add('select * from [sheet1$]');
ADOQuery2.Open;
ADOQuery2.First;
end;begin
for I := 0 to 1000 do
begin
if CoCreateGUID(TmpGUID) = S_OK then
sGUID := GUIDToString(TmpGUID)
end;
end; ADOQuery1.SQL.Clear;
ADOQuery1.SQL.add('select * from Pub_Btype');
ADOQuery1.Open;
iNo:=1;while not ADOQuery2.eof do begin
ADOQuery1.Append;
strNo:='00001'+'0000'+IntToStr(iNo);
inc(iNo);
next;
ADOQuery1.FieldByName('BTypeID').AsString:=strNo;
ADOQuery1.FieldByName('_id').asstring:=sguid;
ADOQuery1.FieldByName('parid').AsString:='00001' ;
ADOQuery1.FieldByName('_Level').AsString:='2' ;
ADOQuery1.FieldByName('Modetype').AsString:='1' ;
ADOQuery1.FieldByName('PriceType').AsString:='preprice1' ;
ADOQuery1.FieldByName('FullName').asstring:=adoquery2.fieldbyname('名称').asstring;
ADOQuery1.FieldByName('UserCode').asstring:=adoquery2.fieldbyname('编码').asstring;
ADOQuery1.FieldByName('abbrName').asstring:=adoquery2.fieldbyname('简码').asstring;
ADOQuery1.FieldByName('Comment').asstring:=adoquery2.fieldbyname('备注').asstring;
ADOQuery2.next;
end;
ADOQuery1.Post;
end;procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
ADOConnection1.Connected:=false;
ADOConnection2.Connected:=false;
end;end.
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzButton, ADODB, Provider, DBClient, DB, Grids, DBGridEh,
RzShellDialogs,comObj,ActiveX, StdCtrls;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
DBGridEh1: TDBGridEh;
DataSource1: TDataSource;
ADOConnection2: TADOConnection;
ADOQuery1: TADOQuery;
DataSource2: TDataSource;
DBGridEh2: TDBGridEh;
RzBitBtn1: TRzBitBtn;
ADOQuery2: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure RzBitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1;
implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject);
begin
try
ADOConnection2.Connected:=true;
ADOConnection1.Connected:=true;
Except
Application.MessageBox('数据库连接失败,请检查参数!','警告',mb_iconwarning)
end;
end; procedure TForm1.RzBitBtn1Click(Sender: TObject);
var
I,iNo:Integer;
sGUID,strNo:string;
TmpGUID:TGUID;
begin
with ADOQuery2 do begin
ADOQuery2.SQL.clear;
ADOQuery2.SQL.add('select * from [sheet1$]');
ADOQuery2.Open;
ADOQuery2.First;
end; for I := 0 to 1000 do begin
if CoCreateGUID(TmpGUID) = S_OK then
sGUID := GUIDToString(TmpGUID)
end; ADOQuery1.SQL.Clear;
ADOQuery1.SQL.add('select * from Pub_Btype');
ADOQuery1.Open;
iNo:=1; with Adoquery2 do while not eof do begin
ADOQuery1.Append;
strNo:='00001'+'0000'+IntToStr(iNo);
inc(iNo);
ADOQuery1.FieldByName('BTypeID').AsString:=strNo;
ADOQuery1.FieldByName('_id').asstring:=sguid;
ADOQuery1.FieldByName('parid').AsString:='00001' ;
ADOQuery1.FieldByName('_Level').AsString:='2' ;
ADOQuery1.FieldByName('Modetype').AsString:='1' ;
ADOQuery1.FieldByName('PriceType').AsString:='preprice1' ;
ADOQuery1.FieldByName('FullName').asstring:=adoquery2.fieldbyname('名称').asstring;
ADOQuery1.FieldByName('UserCode').asstring:=adoquery2.fieldbyname('编码').asstring;
ADOQuery1.FieldByName('abbrName').asstring:=adoquery2.fieldbyname('简码').asstring;
ADOQuery1.FieldByName('Comment').asstring:=adoquery2.fieldbyname('备注').asstring;
next;
end;
if AdoQuery1.state in [dsinsert,dsEdit] then ADOQuery1.Post;
end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
ADOConnection1.Connected:=false;
ADOConnection2.Connected:=false;
end; end.
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzButton, ADODB, Provider, DBClient, DB, Grids, DBGridEh,
RzShellDialogs,comObj,ActiveX, StdCtrls;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
DBGridEh1: TDBGridEh;
DataSource1: TDataSource;
ADOConnection2: TADOConnection;
ADOQuery1: TADOQuery;
DataSource2: TDataSource;
DBGridEh2: TDBGridEh;
RzBitBtn1: TRzBitBtn;
ADOQuery2: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure RzBitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1;
implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject);
begin
try
ADOConnection2.Connected:=true;
ADOConnection1.Connected:=true;
Except
Application.MessageBox('数据库连接失败,请检查参数!','警告',mb_iconwarning)
end;
end; procedure TForm1.RzBitBtn1Click(Sender: TObject);
var
I,iNo:Integer;
sGUID,strNo:string;
TmpGUID:TGUID;
begin
ADOQuery2.SQL.clear;
ADOQuery2.SQL.add('select * from [sheet1$]');
ADOQuery2.Open;
ADOQuery2.First; ADOQuery1.SQL.Clear;
ADOQuery1.SQL.add('select * from Pub_Btype');
ADOQuery1.Open;
iNo:=1; with Adoquery2 do while not eof do begin if CoCreateGUID(TmpGUID) = S_OK then
sGUID := GUIDToString(TmpGUID) ADOQuery1.Append;
strNo:='00001'+'0000'+IntToStr(iNo);
inc(iNo);
ADOQuery1.FieldByName('BTypeID').AsString:=strNo;
ADOQuery1.FieldByName('_id').asstring:=sguid;
ADOQuery1.FieldByName('parid').AsString:='00001' ;
ADOQuery1.FieldByName('_Level').AsString:='2' ;
ADOQuery1.FieldByName('Modetype').AsString:='1' ;
ADOQuery1.FieldByName('PriceType').AsString:='preprice1' ;
ADOQuery1.FieldByName('FullName').asstring:=adoquery2.fieldbyname('名称').asstring;
ADOQuery1.FieldByName('UserCode').asstring:=adoquery2.fieldbyname('编码').asstring;
ADOQuery1.FieldByName('abbrName').asstring:=adoquery2.fieldbyname('简码').asstring;
ADOQuery1.FieldByName('Comment').asstring:=adoquery2.fieldbyname('备注').asstring;
next;
end;
if AdoQuery1.state in [dsinsert,dsEdit] then ADOQuery1.Post;
end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
ADOConnection1.Connected:=false;
ADOConnection2.Connected:=false;
end; end.
ADOQuery1.Append;
这句出了问题
原来一点也不会啊。下面这个行的。interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzButton, ADODB, Provider, DBClient, DB, Grids, DBGridEh,
RzShellDialogs,comObj,ActiveX, StdCtrls;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
DBGridEh1: TDBGridEh;
DataSource1: TDataSource;
ADOConnection2: TADOConnection;
ADOQuery1: TADOQuery;
DataSource2: TDataSource;
DBGridEh2: TDBGridEh;
RzBitBtn1: TRzBitBtn;
ADOQuery2: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure RzBitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1;
implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject);
begin
try
ADOConnection2.Connected:=true;
ADOConnection1.Connected:=true;
Except
Application.MessageBox('数据库连接失败,请检查参数!','警告',mb_iconwarning)
end;
end; procedure TForm1.RzBitBtn1Click(Sender: TObject);
var
I,iNo:Integer;
sGUID,strNo:string;
TmpGUID:TGUID;
begin
ADOQuery2.SQL.clear;
ADOQuery2.SQL.add('select * from [sheet1$]');
ADOQuery2.Open;
ADOQuery2.First; ADOQuery1.SQL.Clear;
ADOQuery1.SQL.add('select * from Pub_Btype');
ADOQuery1.Open;
iNo:=1; with Adoquery2 do while not eof do begin if CoCreateGUID(TmpGUID) = S_OK then
sGUID := GUIDToString(TmpGUID) ; ADOQuery1.Append;
strNo:='00001'+'0000'+IntToStr(iNo);
inc(iNo);
ADOQuery1.FieldByName('BTypeID').AsString:=strNo;
ADOQuery1.FieldByName('_id').asstring:=sguid;
ADOQuery1.FieldByName('parid').AsString:='00001' ;
ADOQuery1.FieldByName('_Level').AsString:='2' ;
ADOQuery1.FieldByName('Modetype').AsString:='1' ;
ADOQuery1.FieldByName('PriceType').AsString:='preprice1' ;
ADOQuery1.FieldByName('FullName').asstring:=adoquery2.fieldbyname('名称').asstring;
ADOQuery1.FieldByName('UserCode').asstring:=adoquery2.fieldbyname('编码').asstring;
ADOQuery1.FieldByName('abbrName').asstring:=adoquery2.fieldbyname('简码').asstring;
ADOQuery1.FieldByName('Comment').asstring:=adoquery2.fieldbyname('备注').asstring;
next;
end;
if AdoQuery1.state in [dsinsert,dsEdit] then ADOQuery1.Post;
end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
ADOConnection1.Connected:=false;
ADOConnection2.Connected:=false;
end; end.