如何制作数据库的安装程序

来源:互联网 发布:js获取当天0点时间戳 编辑:程序博客网 时间:2024/04/28 22:56
Dlg_SetupDatabase://安装数据库的界面
szMsg="请选择应用程序安装类型";
szTitle="应用程序安装类型";
SetupDatabase="服务器端";
noSetupDatabase="客户端";
svCheck1=TRUE;
svCheck2=FALSE;
nResult=AskOptions(EXCLUSIVE,szMsg,SetupDatabase,svCheck1,noSetupDatabase,svCheck2);
if nResult=BACK goto Dlg_SdRegisterUserEx;
if svCheck1=TRUE then
goto Dlg_SdShowDlgEdit3;
endif;
//modify by sds
//if svCheck2=TRUE goto Dlg_SdAskDestPath;
if svCheck2=TRUE goto Dlg_SdShowDlgEdit3;

Dlg_SdShowDlgEdit3:
szTitle="请输入数据库信息";
szMsg="请输入数据库信息";
ServerName="服务器名称";
UserName="用户名称";
Password="数据库口令";
svEdit1="";
svEdit2="sa";
svEdit3="";
nResult=SdShowDlgEdit3(szTitle,szMsg,ServerName,UserName,Password,svEdit1,svEdit2,svEdit3);
//这个地方要产生一个脚本文件CreateDatabase.Sql;

//if (nResult=BACK) goto Dlg_SetupDatabase;
if (nResult=BACK) then
goto Dlg_SetupDatabase;
else
WriteProfString (WINSYSDIR^"DbInfo.ini", "DatabaseInfo", "ServerName",svEdit1);
WriteProfString (WINSYSDIR^"DbInfo.ini", "DatabaseInfo", "UserName",svEdit2);
WriteProfString (WINSYSDIR^"DbInfo.ini", "DatabaseInfo", "PassWord",svEdit3);
if (svCheck2=TRUE) goto Dlg_SdAskDestPath;
if svCheck1=TRUE then

OpenFileMode(FILE_MODE_APPEND);
CreateFile(DataBaseHandle,WINSYSDIR,"CheckDataBaseInfo.Bat");
//dbCheck.Sql--应该是我们自己带的SRCDIR^
CheckDataBaseJbStr="@isqlw -S %s -d master -U %s -P %s -i "+SRCDIR^"dbCheck.sql -o "+WINSYSDIR^"out2.txt";
Sprintf(CheckDataBaseJbStr,CheckDataBaseJbStr,svEdit1,svEdit2,svEdit3);
WriteLine(DataBaseHandle,"@echo 正在检查数据库信息请稍等...");
WriteLine(DataBaseHandle,CheckDataBaseJbStr);
CloseFile(DataBaseHandle);
LaunchAppAndWait(WINSYSDIR^"CheckDataBaseInfo.Bat","",WA99v);
//写DBInfo文件让系统可以初始话BDE的配置

OpenFileMode(FILE_MODE_NORMAL);

OpenFile(OutHandle,WINSYSDIR,"out2.txt");
GetLine(OutHandle,OutStr);
if OutStr='1' then
MessageBox("该数据库存在,本次安装将不在安装数据库",WARNING);
CloseFile(OutHandle);
//DeleteFile(WINSYSDIR^"CheckDataBaseInfo.Bat");
//DeleteFile(WINSYSDIR^"out2.txt");
goto Dlg_SdAskDestPath;//不进行选择数据库的安装了
endif;

endif;
endif;
/*else
*/
//增加一个公司标示界面来插入数据---这个界面要负责产生InsertCompInfo.sql文件,让安装数据库的时候调用
Dlg_SdShowDlgEdit2:
szTitle="请输入公司信息";
szMsg="请输入公司信息";
CompName="公司名称";
CompInfo="系统标识";
nResult=SdShowDlgEdit2(szTitle,szMsg,CompName,CompInfo,CompNameStr,CompInfoStr);
if (nResult)=BACK then
goto Dlg_SdShowDlgEdit3;
else
OpenFileMode(FILE_MODE_APPEND);
CreateFile(CompHandle,WINSYSDIR,"InsertCompInfo.sql");
CompStr="insert into XTBZ(XTDM,XTMC) values("+"'" +"%s"+"'"+",'"+"%s"+"') ";
Sprintf(CompStr,CompStr,CompNameStr,CompInfoStr);
WriteLine(CompHandle,"use xs ");
WriteLine(CompHandle,CompStr);
WriteLine(CompHandle,"go");
CloseFile(CompHandle);
endif;
Dlg_DataBase: //选择安装数据库
szMsg="请选择数据库安装路径";
szTitle="数据库安装程序";
svDestDir="C://";
nResult=AskDestPath ("数据库文件路径", szMsg, svDestDir, 0);
//写文件  

原创粉丝点击