uses
DB, ADODB; procedure TForm1.SpeedButton3Click(Sender: TObject);
Var
adoquery: tadoquery;
begin
adoquery:=tadoquery.Create(self);
with adoquery do
begin
try
ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=server_test;Data Source=database_test';
//数据库服务器为server_test,数据库为database_test,登陆用户名为sa,密码为空
SQL.Clear;
SQL.Add('select * from table_test where a <> 0');
Active:=true;
showmessage(FieldByName('a').AsString);
finally
Free;
end;
end;
end;——ConnectionString := ……这一行总是不对???
DB, ADODB; procedure TForm1.SpeedButton3Click(Sender: TObject);
Var
adoquery: tadoquery;
begin
adoquery:=tadoquery.Create(self);
with adoquery do
begin
try
ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=server_test;Data Source=database_test';
//数据库服务器为server_test,数据库为database_test,登陆用户名为sa,密码为空
SQL.Clear;
SQL.Add('select * from table_test where a <> 0');
Active:=true;
showmessage(FieldByName('a').AsString);
finally
Free;
end;
end;
end;——ConnectionString := ……这一行总是不对???
TQuery的连接呢?该怎么写?
TDatabase Name Database1
AliasName aaa
DatabaseName 任意设置一个数据库名
LoginPrompt False
Params username=用户名 password=密码
Connected true
TQuery DatabaseName 和Tatabase的DatabaseName属性一致
Sql 放入Sql语句
Active True
——我给出的代码中的那一行就是完成类似工作的,但是代码该如何实现呢?谢谢!!!
——用TQuery连接sql server时,用户、密码是怎么用代码设置的呢?
temp_Database := TDatabase.Create(self);
with temp_Database do
begin
AliasName := 'test';
DatabaseName := 'fundrun';
LoginPrompt := false;
//Database1.Params //username=用户名,password=密码????
Connected := true;
end;
Query1.Active := false;
Query1.DatabaseName := temp_Database.DatabaseName;
Query1.Active := true;
Params.Values['PASSWORD']:=password;
——我改成了这样,运行时还是报错,无效的用户名、密码;怎么回事呢?谢谢:
temp_Database := TDatabase.Create(self);
with temp_Database do
begin
AliasName := 'test';
DatabaseName := 'fundrun';
LoginPrompt := false;
Params.Values['USER NAME']:= 'sa';
Params.Values['PASSWORD']:= ''; //密码为空
Connected := true;
end; Query1.Active := false;
Query1.DatabaseName := temp_Database.DatabaseName;
Query1.Active := true;
temp_Database.Free;
是否还要指定server name之类的?
——我用TDatabase控件配置过的,只要指定好别名(在BDE里设好的)等就可以了;
——但是用代码实现该怎么办呢?不要手动去BDE里设置什么数据库别名
temp_Database := TDatabase.Create(self);
with temp_Database do
begin
Params.Values['ServerName'] := 'server_test';//sql server服务器
Params.Values['DATABASE NAME'] :='fundrun';//连接的默认数据库
Params.Values['USER NAME'] :='sa';
Params.Values['PASSWORD'] := '';
DriverName := 'MSSQL';
KeepConnection := True;
TransIsolation := tiDirtyRead;
DataBaseName := 'fundrun';//那这个DataBaseName又是什么呢???
LoginPrompt := False;
end; Query1.Active := false;
Query1.DatabaseName := temp_Database.DatabaseName;
Query1.Active := true;
temp_Database.Free;
temp_Database:tdatabase;
query:tquery;
datasource:tdatasource;
begin
temp_Database:=tdatabase.Create(nil);
with temp_Database do
begin
Connected:=false;
Params.Clear;
Params.Values['user name']:='sa';
params.Values['password']:='';
LoginPrompt:=false;
databasename:='fundrun';
end;
try
temp_Database.Connected:=true;
query1.active:=false;
query1.DatabaseName:='fundrun';
query1.active:=True;
//
except
//
end;
end;
——DriverName 跟KeepConnection := True;不能同时指定。
——不指定'ServerName'都能行?