Install Shield制作安装包技巧(SQL篇)
prototype CheckSQL();
function CheckSQL()
BOOL bSuccess;
NUMBER nType, nvSize;
STRING szVer;
STRING szSetupVer, szSetupPath;
begin
RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );
szSetupPath = "SOFTWARE\\Microsoft\\MSSQLServer\\Setup";
szSetupVer = "SOFTWARE\\Microsoft\\MSSQLServer\\MSSQLServer\\CurrentVersion";
//获取SQL Server版本
nType = REGDB_STRING;
if (RegDBGetKeyValueEx ( szSetupVer, "CurrentVersion" , nType , szVer , nvSize ) < 0) then
bSuccess = FALSE;
else
//获取SQL Server安装路径
if (RegDBGetKeyValueEx ( szSetupPath, "SQLPath" , nType , szSQLPATH , nvSize ) < 0) then
bSuccess = FALSE;
else
bSuccess = TRUE;
endif;
endif;
return bSuccess;
end;
2、检查SQL Server版本号,是否安装了SP3
prototype CheckSQLVersion();
function CheckSQLVersion()
BOOL bSuccess;
NUMBER nType, nvSize;
STRING szVer;
STRING szSetupVer;
begin
RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );
bSuccess = FALSE;
szSetupVer = "SOFTWARE\\Microsoft\\MSSQLServer\\MSSQLServer\\CurrentVersion";
nType = REGDB_STRING;
if (RegDBGetKeyValueEx ( szSetupVer, "CSDVersion" , nType , szVer , nvSize ) < 0) then
bSuccess = FALSE;
else
if szVer = '8.00.761' then
bSuccess = TRUE;
endif;
endif;
return bSuccess;
end;
3、启动SQL Server服务器
prototype StartSQLServr(STRING, STRING);
//传入用户名,用户密码
function StartSQLServr(szLoginName, szPassword)
BOOL bSuccess;
VARIANT objSQL;
begin
objSQL = CreateObject("SQLDMO.SQLServer");
if IsObject(objSQL) then
try
try
objSQL.Start(TRUE, "(Local)", szLoginName, szPassword);
catch
objSQL.Connect("(Local)", szLoginName, szPassword);
endcatch;
catch
bSuccess = FALSE;
return bSuccess;
endcatch;
else
bSuccess = FALSE;
return bSuccess;
endif;
if objSQL.VerifyConnection then
bSuccess = TRUE;
else
bSuccess = FALSE;
endif;
return bSuccess;
end;
4、检查数据库是否已经存在
prototype IsExistDB(STRING, STRING, STRING);
//传入用户名,用户密码,数据库名
function IsExistDB(szLoginName, szPassword, szDBName)
BOOL bExist;
NUMBER i;
STRING szTemp;
VARIANT objSQL;
begin
objSQL = CreateObject("SQLDMO.SQLServer");
objSQL.Connect("(Local)", szLoginName, szPassword);
bExist = FALSE;
for i = 1 to objSQL.Databases.Count
StrToUpper(szTemp, objSQL.Databases.Item(i).Name);
if (szTemp == szDBName) then
bExist = TRUE;
return bExist;
endif;
endfor;
return bExist;
end;
5、删除数据库
prototype DeleteDB(STRING, STRING, STRING);
//传入用户名,用户密码,数据库名
function DeleteDB(szLoginName, szPassword, szDBName)
STRING szSQL;
begin
szSQL = "declare @dttm varchar(55) \n"
+ "select @dttm=convert(varchar,getdate(),113)\n"
+ "raiserror('Beginning Check Database at %s ....',1,1,@dttm) with nowait \n"
+ "GO \n"
+ "use master \n"
+ "go \n"
+ "if exists (select * from sysdatabases where name='" + szDBName + "') \n"
+ "begin \n"
+ "raiserror('Dropping existing " + szDBName + " database ....',0,1) \n"
+ " DROP database " + szDBName + "\n"
+ "end \n"
+ " GO \n"
+ "CHECKPOINT \n"
+ "go \n";
if !ExecuteSQL(szLoginName, szPassword, szSQL) then
return FALSE;
endif;
return TRUE;
end;
转载于:https://www.cnblogs.com/N0Game/archive/2009/06/16/1504363.html
Install Shield制作安装包技巧(SQL篇)相关推荐
- Qt软件发布(版本信息,Release版程序,代码打包,制作安装包)
序言 当我们完成了Qt程序的开发,希望交予测试,或是正式发布的时候,需要将我们的程序进行层层封装,最终以一个安装包的形式呈现给用户.专业版的软件发布,以Qt软件为例,需要三个步骤:生成版本信息,生成R ...
- LabVIEW编程技巧:如何制作安装包程序
目录 一.LabVIEW中制作安装程序的方法 二.生成应用程序(EXE程序) 二.制作安装包程序 三.总结 当我们在LabVIEW平台上辛辛苦苦编写完成测试软件程序时,一般很少情况将程序源代码分发给用 ...
- 利用WIX制作安装包(2)
利用WIX制作安装包(2) 原文 利用WIX制作安装包(2) 这一篇文章将为大家介绍如何使用WIX自定义UI.上一篇文章我们讲过WIX为我们提供了五种安装界面.每种安装界面都是由不同的Dialog组成 ...
- python制作安装包(setup.py)
1.制作setup.py from distutils.core import setupsetup(name='Myblog',version='1.0',description='My Blog ...
- Debian、Ubuntu源码编译制作安装包(二)
在<Debian.Ubuntu源码编译制作安装包(一)>文章中描述了dpkg基本制作安装包过程,本篇文章描述如何增加patch及解决出错问题. 章节预览: 5. 增加patch 6. 修改 ...
- 使用NSIS制作安装包(1)
NSIS是一个基于脚本语言的制作安装包的免费工具,它使用起来也很方便,下面是制作安装.NET框架和语言包的脚本. NSIS的编译器和脚本编辑工具可以到nsis.sf.net上下载 !include W ...
- InstallAnywhere制作安装包
目录 InstallAnywhere制作安装包 启动installAnywhere 选择"Open Existing Project" 选择"Open Recent Pr ...
- Install Shield制作安装软件
Install Shield制作安装软件 摘要 : 本文介绍了利用Install Shield制作应用程序安装软件的方法.在文中作者除了对常用的一些技术进行介绍外,还对安装过程位图的显示.标题和背景的 ...
- vs2005制作安装包(自动安装.net framework 2.0)(小寿原创)
vs2005制作安装包(自动安装.net framework 2.0)(小寿原创) 新建项目-> 其他项目类型->安装和部署->安装向导! 安装向导会提示你添加要安装的文件,这时你可 ...
最新文章
- 详解zabbix中文版安装部署
- 你应该知道的计算机网络知识
- Reg Infomation
- 用户 'XXX\SERVERNAME$' 登录失败。 原因: 找不到与提供的名称匹配的登录名。 [客户端: ]...
- asm java 反编译_dex-tools-2.1-SNAPSHOT 反编译Java class文件和Android dex文件到Java源码的利器 - 下载 - 搜珍网...
- JavaEE 企业级分布式高级架构师课程_汇总贴
- 什么是浏览器跨域访问操作,js如何实现?
- k8s Service之LoadBalancer和ExternalName
- “Paper + Code”才是研读论文的正确姿势 | PaperDaily #02
- 安装windows时loading files结束就重启_Boot Camp安装windows 10
- 剑指offer七:两个链表的第一个公共结点
- 蓝牙mesh组网-JDY-24M初步探索
- 直流电动机调速matlab,基于MATLAB龙门刨床直流电动机调速系统仿真研究
- linux驱动开发 ST7789 LCD驱动移植(I.MX6ULL平台)
- MYSQL 生成周末、节假日,日期表
- 鸿蒙和米家啥区别,魅族家居接入鸿蒙!
- 中国混合现实产业调研分析及发展战略研究报告2021-2027年版
- 租赁风控模型之决策树
- 2021年,我推荐你学习的编程语言,各类语言横向对比
- 关于redis的BussinessName取法
热门文章
- 新手学习C语言编程的8个致命错误,你中招了吗?
- C语言对电脑做的事儿啊,总有那么一丝恐怖,C语言操盘电脑两例
- 论游戏项目中的左与右
- python3进阶_Python3 进阶教程 2020全新版
- springboot 打包_springboot打包-体积太大怎么办
- php链接远程socket,php使用socket获取远程图片
- Ubuntu16.04通过wine环境安装微信与QQ等软件
- 关于视频光端机调制方式及介质特点的介绍
- 【渝粤教育】21秋期末考试混凝土结构10515k1
- 【渝粤教育】广东开放大学 文化经济实务 形成性考核 (49)