ado连接DBF文件,主要的问题是:如果点第一个按钮,和第二个按钮,为什么创建的文件的位置会不一样?
如果不想粘贴代码,请从http://www.consult.sx.cn/11.rar下载,分不够可以另开贴送分.unit FormSendMail;interfaceuses
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下载,分不够可以另开贴送分.
如果不想粘贴代码,请从http://www.consult.sx.cn/11.rar下载,分不够可以另开贴送分.unit FormSendMail;interfaceuses
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下载,分不够可以另开贴送分.
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;';