问题1:判断计算机中是否已装有SQL server 方法一: var registerTemp: TRegistry; begin registerTemp:=TRegistry.create; with registertemp do begin rootkey := HKEY_LOCAL_MACHINE; if OpenKey('Software\Microsoft\MSSQLServer\Setup', True) then begin if valueexists('SQLPath') then 已装 else begin 未装 end; end; end; registertemp.CloseKey; registertemp.Free; 可以判断是否有装,没装的话也可以用一个命令自动安装,不过这得把SQLSERVER打包进去方法二: procedure Tfrm_DBParamSet.GetSQLServerLsit; var SQLServer: Variant; ServerList: Variant; i, nServers: integer; begin lst_SQLSrvList.Items.Clear; try SQLServer := CreateOleObject('SQLDMO.Application'); ServerList := SQLServer.ListAvailableSQLServers; nServers := ServerList.Count; for i := 1 to nservers do lst_SQLSrvList.Items.Add(ServerList.Item(i)); SQLServer := NULL; serverList := NULL; except Application.MessageBox('您当前的机器没有安装SQL Server,无法导入SQL Server服务器列表,'+#13+#10+'请直接输入SQL Server服务器名称!','信息提示',MB_OK+MB_ICONINFORMATION); end; end; 方法三MS-SQL中必有一个Master数据库,那么我们不妨做一个connection,连接此数据库,看是否成功。如果不行,再根据返回代码或者直接判断此机没装sql或者sql 有问题。 局限性是: 若此 sql的sa有口令或者它是其它用户登录的,你必须知道其登录方法。 方法四:一个无聊的办法,使用findfrist findnext搜索计算机中的文件,看看能不能找到sqlservr.exe文件
如:winexec(pchar('*.exe'),sw_show);最后,接分!!!!
不过还得等第一个问题。只按最简单的方式,就当机器没装SQL SERVER,注册表里什么都没有。
方法一:
var registerTemp: TRegistry;
begin
registerTemp:=TRegistry.create;
with registertemp do
begin
rootkey := HKEY_LOCAL_MACHINE;
if OpenKey('Software\Microsoft\MSSQLServer\Setup', True) then
begin
if valueexists('SQLPath') then
已装
else
begin
未装
end;
end;
end;
registertemp.CloseKey;
registertemp.Free;
可以判断是否有装,没装的话也可以用一个命令自动安装,不过这得把SQLSERVER打包进去方法二:
procedure Tfrm_DBParamSet.GetSQLServerLsit;
var
SQLServer: Variant;
ServerList: Variant;
i, nServers: integer;
begin
lst_SQLSrvList.Items.Clear;
try
SQLServer := CreateOleObject('SQLDMO.Application');
ServerList := SQLServer.ListAvailableSQLServers;
nServers := ServerList.Count;
for i := 1 to nservers do
lst_SQLSrvList.Items.Add(ServerList.Item(i));
SQLServer := NULL;
serverList := NULL;
except
Application.MessageBox('您当前的机器没有安装SQL Server,无法导入SQL Server服务器列表,'+#13+#10+'请直接输入SQL Server服务器名称!','信息提示',MB_OK+MB_ICONINFORMATION);
end;
end;
方法三MS-SQL中必有一个Master数据库,那么我们不妨做一个connection,连接此数据库,看是否成功。如果不行,再根据返回代码或者直接判断此机没装sql或者sql 有问题。
局限性是:
若此 sql的sa有口令或者它是其它用户登录的,你必须知道其登录方法。
方法四:一个无聊的办法,使用findfrist findnext搜索计算机中的文件,看看能不能找到sqlservr.exe文件
////////////
抢分专家...
////////////
抢分专家...
我不是抢分专家,我是骗分专家。
操作系统是否有此服务即可,其他的都不一定
在Windows控制面板里面安装删除程序也是通过注册表搜索的。