数据原设置问题 我现在设置数据源,是在控制面版中的数据源管理器中手工设置,操作起来非常麻烦,特别是当程序包让客户安装的时候,许多人并不了解如何设置.现想让程序启动时,自动检测并安装数据源,如何才能做到?(具体怎么做?)谢谢各位! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Private Const ODBC_ADD_DSN = 1 ' Add data sourcePrivate Const ODBC_CONFIG_DSN = 2 ' Configure (edit) data sourcePrivate Const ODBC_REMOVE_DSN = 3 ' Remove data sourcePrivate Const vbAPINull As Long = 0& ' NULL PointerPrivate Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" _(ByVal hwndParent As Long, ByVal fRequest As Long, _ByVal lpszDriver As String, ByVal lpszAttributes As String) As LongPublic Sub CreateDSN(sDSN As String)Dim nRet As LongDim sDriver As StringDim sAttributes As StringsDriver = "Oracle73 Ver 2.5"sAttributes = "Server=Oracle8" & Chr$(0)sAttributes = sAttributes & "DESCRIPTION=" & sDSN & Chr$(0)'sAttributes = sAttributes & "DSN=" & sDSN & Chr$(0)sAttributes = sAttributes & "DATABASE=DBFinance" & Chr$(0)sAttributes = sAttributes & "Userid=Scott" & Chr$(0)'sAttributes = sAttributes & "PWD=myPassword" & Chr$(0)DBEngine.RegisterDatabase sDSN, sDriver, True, sAttributes '注一'nRet = SQLConfigDataSource(vbAPINull, ODBC_ADD_DSN, sDriver, sAttributes) '注二End SubPublic Sub DeleteDSN(sDSN As String)Dim nRet As LongDim sDriver As StringDim sAttributes As StringsDriver = "Oracle73 Ver 2.5"sAttributes = sAttributes & "DSN=" & sDSN & Chr$(0)nRet = SQLConfigDataSource(vbAPINull, ODBC_REMOVE_DSN, sDriver, sAttributes)End Sub'DSN test测试:Private Sub Command1_Click()CreateDSN "Test"End SubPrivate Sub Command2_Click()DeleteDSN "Test"End Sub 建议不要使用ODBC设置,做一个ADO连接串,用.INI存储起来,在使用时调用即可,使用起来也方便,针对不会设置的用户很有效.------------pSetLink = "driver={SQL Server};" & "server=" & DBServerIP & ";uid=" & DBUserId & ";pwd=" & DBPassWord & ";database=" & DBDataBase & ""其中pSetLink是田连接串变量名;DBServerIP,数据服务器地址;DBUserId,数据库登录名;DBPassWord,密码;DBDataBase,数据库名;DBServerIP,DBUserId,DBPassWord,DBDataBase用以下语句取出----------------------------------------------FileName = App.Path & "\Set" & "\" & "Setup.ini"File = FreeFileOpen FileName For Input As #File Line Input #File, line01 Line Input #File, nSetInfo1 Line Input #File, nSetInfo2 Line Input #File, line04 Line Input #File, line05 Line Input #File, nSetWeb1 Line Input #File, nSetWeb2 Line Input #File, Line08 Line Input #File, Line09 Line Input #File, nSetWeb3 Line Input #File, nSetWeb4Close #File----------------------------------------------连接的时候使用以下即可,很方便:Dim strSQL As StringstrSQL="select * from main"Adodc1.ConnectionString = pSetLinkAdodc1.RecordSource = strSQLAdodc1.Refresh'strSQL为数据操作语句.'上面是用ADODB控件时的引用,当然还可以用ADO来实现.上面只是例子,如果你的程序已经用ODBC数据源的方式写好了,建议还是改了的好,因为有好些用户可不会设置ODBC.好,完了,记得给我分啊.如果有问题可以MSN:[email protected]. MSComm问题:何时关闭端口 关于MSHFlexGrid的合并单元格问题 ***用datareport打印报表时,出现Invalid data source错误提示**** VB中动态插入数据 ActiveX控件安全问题 没有答案,誓不罢休!!! 我使用了EXCEL做报表,但是发现很慢! 如何编写这样一个函数,急啊。 求listview的格式如何调整 vb打包后,文件大得吓死人,怎么办?有位大侠说createinstall 好用,可是如何用,愿全部分数送上!!! 关于将数据库导出到EXCEL的问题 用VB6读取系统已安装的输入法时,朝鲜文的输入法描述读出后在vb中不能正确显示?
Private Const ODBC_ADD_DSN = 1 ' Add data sourcePrivate Const ODBC_CONFIG_DSN = 2 ' Configure (edit) data sourcePrivate Const ODBC_REMOVE_DSN = 3 ' Remove data sourcePrivate Const vbAPINull As Long = 0& ' NULL Pointer
Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" _
(ByVal hwndParent As Long, ByVal fRequest As Long, _
ByVal lpszDriver As String, ByVal lpszAttributes As String) As Long
Public Sub CreateDSN(sDSN As String)Dim nRet As LongDim sDriver As StringDim sAttributes As StringsDriver = "Oracle73 Ver 2.5"sAttributes = "Server=Oracle8" & Chr$(0)sAttributes = sAttributes & "DESCRIPTION=" & sDSN & Chr$(0)'sAttributes = sAttributes & "DSN=" & sDSN & Chr$(0)sAttributes = sAttributes & "DATABASE=DBFinance" & Chr$(0)sAttributes = sAttributes & "Userid=Scott" & Chr$(0)'sAttributes = sAttributes & "PWD=myPassword" & Chr$(0)DBEngine.RegisterDatabase sDSN, sDriver, True, sAttributes '注一'nRet = SQLConfigDataSource(vbAPINull, ODBC_ADD_DSN, sDriver, sAttributes) '注二End Sub
Public Sub DeleteDSN(sDSN As String)Dim nRet As LongDim sDriver As StringDim sAttributes As StringsDriver = "Oracle73 Ver 2.5"sAttributes = sAttributes & "DSN=" & sDSN & Chr$(0)nRet = SQLConfigDataSource(vbAPINull, ODBC_REMOVE_DSN, sDriver, sAttributes)End Sub'DSN test测试:
Private Sub Command1_Click()CreateDSN "Test"End Sub
Private Sub Command2_Click()DeleteDSN "Test"End Sub
------------
pSetLink = "driver={SQL Server};" & "server=" & DBServerIP & ";uid=" & DBUserId & ";pwd=" & DBPassWord & ";database=" & DBDataBase & ""其中pSetLink是田连接串变量名;DBServerIP,数据服务器地址;DBUserId,数据库登录名;DBPassWord,密码;DBDataBase,数据库名;
DBServerIP,DBUserId,DBPassWord,DBDataBase用以下语句取出
----------------------------------------------
FileName = App.Path & "\Set" & "\" & "Setup.ini"
File = FreeFileOpen FileName For Input As #File
Line Input #File, line01
Line Input #File, nSetInfo1
Line Input #File, nSetInfo2
Line Input #File, line04
Line Input #File, line05
Line Input #File, nSetWeb1
Line Input #File, nSetWeb2
Line Input #File, Line08
Line Input #File, Line09
Line Input #File, nSetWeb3
Line Input #File, nSetWeb4Close #File
----------------------------------------------
连接的时候使用以下即可,很方便:
Dim strSQL As String
strSQL="select * from main"
Adodc1.ConnectionString = pSetLink
Adodc1.RecordSource = strSQL
Adodc1.Refresh
'strSQL为数据操作语句.
'上面是用ADODB控件时的引用,当然还可以用ADO来实现.上面只是例子,如果你的程序已经用ODBC数据源的方式写好了,建议还是改了的好,因为有好些用户可不会设置ODBC.好,完了,记得给我分啊.如果有问题可以MSN:[email protected].