以下程序段由VB翻译过来,但对生成dbf文件时中文记录全显示为"???"(vb下的正常).txt,htm正常。有人碰到吗,怎么改/
procedure TForm1.Button1Click(Sender: TObject);
var
path,sql:string;
str_con:string;
begin
conn.Close ;
path:=extractfilepath(application.ExeName );
str_con:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + path + '\my.mdb;Persist Security Info=False;Jet OLEDB:Database Password=test;
conn.ConnectionString :=str_con;
try
conn.connected:=true;
showmessage('ok');
except
showmessage('error');
end;//生成DBF文件表
Sql:='select * into [dBase III;DataBase=' + path + '].' + 'test.dbf' + ' from eu_onipot';
conn.Execute(sql);
showmessage('over dbf');//生成TXT文本文件
Sql:='select * into [text;Database=' + path + '].test.txt' + ' from eu_onipot';
conn.Execute(sql);
showmessage('over txt');//生在HTM文件
Sql:='select * into [html export;database='+ path + '].test.htm' + ' from eu_onipot';
conn.Execute(sql);
showmessage('over html');end;
procedure TForm1.Button1Click(Sender: TObject);
var
path,sql:string;
str_con:string;
begin
conn.Close ;
path:=extractfilepath(application.ExeName );
str_con:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + path + '\my.mdb;Persist Security Info=False;Jet OLEDB:Database Password=test;
conn.ConnectionString :=str_con;
try
conn.connected:=true;
showmessage('ok');
except
showmessage('error');
end;//生成DBF文件表
Sql:='select * into [dBase III;DataBase=' + path + '].' + 'test.dbf' + ' from eu_onipot';
conn.Execute(sql);
showmessage('over dbf');//生成TXT文本文件
Sql:='select * into [text;Database=' + path + '].test.txt' + ' from eu_onipot';
conn.Execute(sql);
showmessage('over txt');//生在HTM文件
Sql:='select * into [html export;database='+ path + '].test.htm' + ' from eu_onipot';
conn.Execute(sql);
showmessage('over html');end;
我试了一下。效果是一样的。
不过刚才直接用access的导出功能发现生成的也是“??”符号,看来可能不是程序的问题了。
不知道有什么其它方法直接由access生成dbf表?
环境:98系统.
那为什么那个VB程序在我机器上生成的文件却正常呢(也是用的ado连接的)?
明天再来看看