ls_Location=GetCurrentDirectory( )
if left(ls_Location,2)='\\' then //判断应用程序是否是直接访问网络!
messagebox('错误','此应用程序现是放在网络上,必须先映射网络驱动程序后方能使用!~n~n'+'请与网管联系。')
halt
end if
if right(ls_Location,1)='\' then ls_Location=Mid(ls_Location,1,2) //放在根目录下
ls_Driver=ls_Location+"\dbodbc7.dll"
ls_Start=ls_Location+"\dbeng7.exe"
IF Not (FileExists(ls_Driver) AND FileExists(ls_Start)) Then
MessageBox("错误","此电脑没有安装SYBASE SQL ANYWHERE 的驱动程序,系统将终止运行!",StopSign!)
halt
End IF
if ls_first<>ls_Location then
/****************************注册开始****************************/
//设置ODBC\ODBCINST.INI\ODBC DRIVERS
Answer=RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBC DRIVERS","AOSEN Sybase SQL Anywhere 7.0", RegString!, "Installed") //99
IF Answer = -1 Then
MessageBox("错误!","应用程序无法设置ODBC\ODBCINST.INI\ODBC DRIVERS,系统将终止运行!",Information!)
halt
End if
//设置ODBC\ODBCINST.INI\
Answer=0
Answer=Answer + RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\AOSEN Sybase SQL Anywhere 7.0", "CPTimeout", RegString!, "not pooled") //99
Answer=Answer + RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\AOSEN Sybase SQL Anywhere 7.0", "Driver", RegString!,ls_Driver)
Answer=Answer + RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\AOSEN Sybase SQL Anywhere 7.0", "Setup", RegString!,ls_Driver)
IF Answer<>3 Then
MessageBox("错误!","应用程序无法设置ODBC\ODBCINST.INI,系统将终止运行!",Information!)
halt
End if
//设置ODBC DATA SOURCE名称
Answer=RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\ODBC Data Sources", db_name, RegString!, "AOSEN Sybase SQL Anywhere 7.0") //99
IF Answer = -1 Then
MessageBox("错误!","应用程序无法设置ODBC DATA SOURCE名称,系统将终止运行!",Information!)
halt
End if
IF Answer <>6 then
MessageBox("错误!","应用程序无法设置ODBC.INI细节,系统将终止运行!",Information!)
halt
End if
//写入注册表中的“first”键值,避免下次运行时再次注册数据源
Answer=RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OptionalComponents\aosen","first",Regstring!,ls_Location)
IF Answer = -1 Then
MessageBox("错误!","应用程序无法设置判断值ls_first,系统将终止运行!",Information!)
halt
End if
sqlca.dbparm="connectstring='" + ODBCStr +";uid=dba;pwd=" + db_password +" '"
SQLCA.AutoCommit = False
connect using sqlca;
if sqlca.sqlcode<>0 then
messagebox("连接失败","对不起!数据库连接失败"+sqlca.sqlerrtext)
halt
end if
3.函数实现:
int reg_result
reg_resulet=RegistrySet(reg_(Keyname,reg_valuename,RegString!,reg_value)
if reg_resulet<>1 then
MessageBxo("错误信息","操纵键值错误!")
end if
4 //下面以建立名为Library的数据源为例
string ls_keyname
string ls_valuename
string ls_value
//第一步为HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources增加Library值
ls_keyname="HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources"
ls_valuename="LIbrary"
ls_value="Sybase SQL Anywhere 5.0"
wf_set_registryvalues(ls_keyname,ls_valuename,ls_vaue)