老革命遇到新问题,1000分求解

ffwin 2006-06-14 07:54:46
ado连接DBF文件,

主要的问题是:如果点第一个按钮,和第二个按钮,为什么创建的文件的位置会不一样?
如果不想粘贴代码,请从http://www.consult.sx.cn/11.rar下载,分不够可以另开贴送分.

unit FormSendMail;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, adodb, DB;


type
TfrmSendMail = class(TForm)
Button2: TButton;
Button3: TButton;
OpenDialog1: TOpenDialog;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
FirstConSource: TADOConnection;
Label1: TLabel;
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
frmSendMail: TfrmSendMail;

implementation

{$R *.dfm}

procedure TfrmSendMail.Button1Click(Sender: TObject);
var
aa: string;
begin
aa := ExtractFilePath(Application.ExeName) + 'backup\';
if OpenDialog1.Execute then
begin
FirstConSource.Connected := False;
FirstConSource.ConnectionString := 'Provider=MSDASQL.1;' +
'Extended Properties="Driver={Microsoft Visual Foxpro Driver};' +
'SourceType=DBF;' +
'SourceDB=' + ExtractFilePath(OpenDialog1.FileName) + '"';

Edit1.Text := ExtractFilePath(OpenDialog1.FileName);
Edit2.Text := ExtractFilePath(Application.ExeName) + 'backup\';
FirstConSource.CursorLocation := clUseServer;
FirstConSource.Connected := True;
end;
end;

procedure TfrmSendMail.Button2Click(Sender: TObject);
var
aa: string;
begin
aa := ExtractFilePath(Application.ExeName) + 'backup\';
// if OpenDialog1.Execute then
begin
FirstConSource.Connected := False;
FirstConSource.ConnectionString := 'Provider=MSDASQL.1;' +
'Extended Properties="Driver={Microsoft Visual Foxpro Driver};' +
'SourceType=DBF;' +
'SourceDB=' + aa + '"';

Edit1.Text := ExtractFilePath(OpenDialog1.FileName);
Edit2.Text := ExtractFilePath(Application.ExeName) + 'backup\';
FirstConSource.CursorLocation := clUseServer;
FirstConSource.Connected := True;
end;
end;

procedure TfrmSendMail.Button3Click(Sender: TObject);
var
ADOTemp: TADOQuery;
SqlStr: string;
begin
ADOTemp := TADOQuery.Create(nil);
ADOTemp.Connection := FirstConSource;

ADOTemp.Close;
ADOTemp.SQL.Clear;
SqlStr := 'create table Test(X1 integer);';

ADOTemp.SQL.Add(SqlStr);
ADOTemp.ExecSQL;
end;

end.

主要的问题是:如果点第一个按钮,和第二个按钮,为什么创建的文件的位置会不一样?
如果不想粘贴代码,请从http://www.consult.sx.cn/11.rar下载,分不够可以另开贴送分.
...全文
147 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rubi 2006-06-14
  • 打赏
  • 举报
回复
都创建在11那个目录下面阿,是不是 test.bdf,我在backup里面没有看见创建的文件
ffwin 2006-06-14
  • 打赏
  • 举报
回复
问题已经解决


FirstConSource.ConnectionString := 'Provider=MSDASQL.1;' +
'Driver={Microsoft Visual Foxpro Driver};UID=;PWD=;' +
'SourceDB=' + aa + ';' +
'SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=;Null=Yes;Deleted=NO;';
Rubi 2006-06-14
  • 打赏
  • 举报
回复
没有明白什么意思
ffwin 2006-06-14
  • 打赏
  • 举报
回复
明天结贴,主要原因可能是连接字符串不对,但不知道正确的字符串应该是什么?

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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