在线等待!!100分!!!急!

simpler13 2003-05-24 07:56:40
我想做一个数据传输的程序,vf数据表中的数据,传输到oracle的同名,同列名的表中,我做了以下的程序!
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls, QuickRpt, QRCtrls,
ExtCtrls, DBCtrls;

type
TForm1 = class(TForm)
DataSource1: TDataSource;
Query1: TQuery;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
DBGrid1: TDBGrid;
ComboBox1: TComboBox;
Edit3: TEdit;
DataSource2: TDataSource;
Query2: TQuery;
BatchMove1: TBatchMove;
DataSource3: TDataSource;
Table1: TTable;
Button2: TButton;
Edit4: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
movedcount:longint;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin
if combobox1.text='' then
begin
showmessage('请选择数据表');
exit;
end
else
begin
query1.Close;
query1.SQL.Text:='select * from '+combobox1.text+' where csrq >= :date1 and csrq <= :date2';
query1.parambyname('date1').asdatetime := strtodatetime(edit1.Text);
query1.parambyname('date2').asdatetime := strtodatetime(edit2.Text);
query1.Open;


end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
table1.TableName:=combobox1.Text;
batchmove1.Execute;
edit4.Text:=(movedcount);

end;

end.
其中:query1指向vf数据表,table1指向oracle中的数据表,运行程序出现一下提示:
[Error] Unit1.pas(69): Incompatible types: 'String' and 'Integer'
当我把edit4.Text:=(movedcount);改成:
showmessage('inttostr(movedcount)');后运行出现以下问题:
project project2.exe raised exception class EDBEngineError with message'
table does not exist.ORE-00942:表或视图不存在‘
我该怎么做,恳请答复!急!
另外,我应该怎样统计传输记录数!

...全文
6 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
firetoucher 2003-05-25
不太明白搂主的意思,
1 要取得记录数用sql的select count(*)和delphi的tdataset的recordcount都可以直接得到阿
2 有可能是
table1.TableName:=combobox1.Text;
batchmove1.Execute;
这两句中执行错误你debug一下,看看是那个控件的tablename赋值有问题
回复
simpler13 2003-05-25
???????????????????????????????????????????????????????????????????
回复
simpler13 2003-05-25
很急!求救!
怎样才能够统计出传输的记录数,用什么样的控件最好!还有,要是当vf数据表中的记录已存在(oracle)的时候,要求报错!
回复
simpler13 2003-05-24
我感觉就tbatchmove做应该简单吧!如果不用这个控件,还可以有什么选择?能告诉我么?
谢谢!
回复
root3646 2003-05-24
TBatchmove能做到吗!我看过,但没做过。
回复
simpler13 2003-05-24
嗯,没错!设定好了,这些都没有问题!
回复
zhuliang1981 2003-05-24
在TDataBase设定好连接参数吗?你用ODBC的DNS吗?
回复
simpler13 2003-05-24
连接时O中表空间是否指定-----你说得再详细一点好吗?
回复
zhuliang1981 2003-05-24
连接时O中表空间是否指定?
回复
simpler13 2003-05-24
我可以确定表存在的,我可以读出数据!!!
回复
firetoucher 2003-05-24
delphi好象没有问题啊,是你自己combobox1.text表示的表名不存在吧。
回复
chxyzj 2003-05-24
up
回复
相关推荐
发帖
数据库相关
创建于2007-08-02

2454

社区成员

Delphi 数据库相关
申请成为版主
帖子事件
创建了帖子
2003-05-24 07:56
社区公告
暂无公告