不用ADO控件,直接用代码,如何连接SQLSERVER数据库

blackspider 2003-10-19 07:43:09
RT
...全文
172 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cpilq 2003-10-19
  • 打赏
  • 举报
回复
GPJL_DM.DataModule1.ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password=密码;Persist Security Info=True;User ID=用户名;Initial Catalog=数据库名;Data Source=服务器计算机名';
ghostmaster 2003-10-19
  • 打赏
  • 举报
回复
copy code 高手!
sailer_shi 2003-10-19
  • 打赏
  • 举报
回复
with AdoConnection1 do
begin
Connected:=false;
Connectionstring := '';
ConnectionString :=' Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog= '
+ DataBaseName
+ ' ;Data Source='
+ ServerName;
Connected := true;

end;
Databasename是你的数据库名称
Servername是你的服务器名称
hiflower 2003-10-19
  • 打赏
  • 举报
回复
实际上还是要用控件,自己做太难了吧。只不过可以动态创建控件和连接字符串。
var
ADOConnection1:TADOConnection;
ADOQuery1:TADOQuery;

procedure AProc;
begin
ADOConnection1:=TADOConnection.Create(nil);
with ADOConnection1 do
begin
ConnectionString:='.....';
Provider:='....';
// 或
Properties.Item['Data Source'].Value:='...';
Properties.Item['Password'].Value:='...';
......
end;
ADOQuery1:=TADOQuery.Create(nil);
with ADOQuery1 do
begin
Connection:=ADOConnection1;
SQL.Text:='...';
Open;
end;
ADOQuery1.Free;
ADOConnection1.Free;
end;
  • 打赏
  • 举报
回复
ADO控件实际是Borland对微软的ADO原生对象的再封装,可以通过直接创建
ADO原生对象的方法来访问Sql Server的数据库,具体请参阅李维的大作-
《Delphi 5.X ADO MTS COM+高级程序设计篇》

procedure TForm1.btnConnectionClick(Sender: TObject);
begin
adoc := CreateOleObject('ADODB.Connection');
// 打开连接
adoc.Open ('Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data
source = 'Northwind.mdb; Mode = Share Deny None;Extended Properties="";
Jet OLEDB:System database="";Jet
OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet
OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet
OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk
Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create
System Database=False;Jet OLEDB:Encrypt Database=False;Jet
OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without
Replica Repair=False;Jet OLEDB:SFP=False');
end;

procedure TForm1.btnOpenTableClick(Sender: TObject);
begin
ador := CreateOleObject('ADODB.RecordSet');
ador.ActiveConnection := adoc;
// 设定指令类型与内容
ador.Open('Select * from 客户', adoc, adOpenStatic,
adLockOptimistic, adCmdText); // 执行指令
filldata;
end; ;

proceudre TForm1.FillData;
begin
edtCustNo.Text := VarToStr(ador.fields[' 客户编号' ].value) ;
edtCustName.Text := ador.fields[' 公司名称' ].value;
edtContact.Text := ador.fields[' 连络人' ].value;
edtContactTitle.Text := ador.fields[' 连络人职称' ].value;
edtAddress.Text := ador.fields[' 地址' ].value;
edtCity.Text := ador.fields[' 城市' ].value;
edtPost.Text := ador.fields[' 邮政编码' ].value;
edtPhone.Text := ador.fields[' 电话' ].value;
end;

procedure TForm1.btnUpdateClick(Sender: TObject);
begin
ador.update('公司名称', edtCustName.Text);
end;;


procedure TForm1.btnFirstClick(Sender: TObject); // 第一笔
begin
if not ador.BOF then
begin
ador.MoveFirst;
FillData;
ador.MovePrevious;
end;
end;

procudure TForm1.btnPriorClick(Sender: TObject); // 上一笔
begin
if not ador.BOF t h e n
begin
ador.MovePrevious;
FillData;
end;
end;

procedure TForm1.btnNextClick(Sender: TObject); // 下一笔
begin
if not ador.EOF t h e n
begin
ador.MoveNext;
FillData;
end;
end;

procedure TForm1.btnLastClick(Sender: TObject); // 最后一笔
begin
if not ador.EOF t h e n
begin
ador.MoveLast;
FillData;
ador.MoveNext;
end;
end;
blackspider 2003-10-19
  • 打赏
  • 举报
回复
那么如何动态生成adoconnection,adoquery控件
FSU 2003-10-19
  • 打赏
  • 举报
回复
UP
wujunwei 2003-10-19
  • 打赏
  • 举报
回复
主要是动态生成你的控件,adoconnection,adoquery
要use adodb
然后在create他们
再设具体的connectionstring,sql等

自己看着办拉!
wujunwei 2003-10-19
  • 打赏
  • 举报
回复
自己写个类,把你的连接和查询都封装到里面,具体实现自己看一下书,真的不难

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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