rt
解决方案 »
- 请问ftBCD和ftCurrency 这两个类型有什么不同?
- 想在程序里增加一个过程,在一个窗体程序时这个过程会被多次调用.如何增加...
- 消息事件机制与操作系统有什么关系?
- 简单问题,急,在线
- 使用query修改记录后,怎么使光标在dbgrid定位到该条记录?
- 谁有DBTreeView控件?收到马上送100分!
- paradox中,没有主索引能不能进行排序????
- DCOM~~~ RPC错误!!!
- 如何让自己写的浏览器和html文件关联后,双击html文件就用自己的浏览器打开了!
- 如何得到局域网中所有的计算机名
- 谁能告诉我关于查两个表的查询语句的写法。(不是一般的两个表字段合并)
- 一个很急的问题,关于Update
我mail个demo给你
procedure TInitForm.FormCreate(Sender: TObject);
var
SQLServer:Variant;
ServerList:Variant;
i,nServers:integer;
begin
SQLServer := CreateOleObject('SQLDMO.Application');//问题出在这里,字符串有错!
ServerList:= SQLServer.ListAvailableSQLServers;
nServers:=ServerList.Count;
for i := 1 to nservers do
ServerName.Items.Add(ServerList.Item(i));
SQLServer:=NULL;
serverList:=NULL;
end;
ComObj;
var
sss : TstringList; sss := TstringList.Create;
if GetSQLServerList(sss) then
memo1.Lines.AddStrings(sss);
sss.Free;
{=================================================================
功 能: 返回网络中SQLServer列表
参 数: List: 需要填充的List
返回值: 成功: True,并填充List 失败 False
备 注: uses ComObj
版 本: 1.0 2002/10/02 22:44:00
=================================================================}
Function GetSQLServerList(var List: Tstringlist): boolean;
var
i: integer;
sRetValue: String;
SQLServer: Variant;
ServerList: Variant;
begin
Result := False;
List.Clear;
try
SQLServer := CreateOleObject('SQLDMO.Application');
ServerList := SQLServer.ListAvailableSQLServers;
for i := 1 to Serverlist.Count do
list.Add (Serverlist.item(i));
Result := True;
Finally
SQLServer := NULL;
ServerList := NULL;
end;
end;
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EOleSysError with message '类字符串无效'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
Variant ServerList;
int i,nServers;
String sRetValue;
try
{
SQLServer = CreateOleObject("SQLDMO.Application");
}
catch(...)
{
ShowMessage("您的本机系统没有安装SQL Server或SQL Server客户端软件");
return;
} ServerList= SQLServer.OleFunction("ListAvailableSQLServers");
nServers=ServerList.OlePropertyGet("Count");
ListBox1->Items->Clear();
for(i=1;i<=nServers;i++) //将检测结果放入ListBox1中
ListBox1->Items->Add( ServerList.OleFunction("Item", i) );
SQLServer=Unassigned;
ServerList=Unassigned;详细情况:
http://www.csdn.net/develop/Article/14/14912.shtm
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, ADODB,AdoConEd, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
ADOConnection1: TADOConnection;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
begin
//注意引用AdoConEd这个单元,添加一个按钮,一个memo1,一个ADOConnection1
ADOConnection1.Close;
if EditConnectionString(ADOConnection1) then
Memo1.Lines.Add(ADOConnection1.ConnectionString)
end;end.
用的是esu的方法。
其他人的方法必须要安装sqlserver或者sqlserver客户端才可以。