如何使c/s程序具有连接不同数据库的功能,即有一个用户设置界面,可以设置用户所连接的是哪个数据库服务器?
--------------
我的vb+sql的程序中是通过连接串连接数据库的.到不同的用户处安装时,因为用户机器的ip地址不一样,所以每次都要在程序中改一下连接串,然后重新编译,很不方便,所以我想设计一个用户设置的界面,可以指定服务器的名称,地址,等等信息.
1.这些信息应该存在何处呢?
2.什么实现思路呢?
谢谢先.

解决方案 »

  1.   

    很簡單的
    在一個Form上只要放上幾個文本框與一控件即可
    文本框:
    1.txtServer:所要連接的服務器,可以是IP也可是計算機名
    2.txtUID:登入SQL Server所用的用戶名(可以加密)
    3.txtPWD:登入SQL Server所用的密碼(一定要加密)
    4.txtDataBase:所要連接的數據庫這些資料可以保存在一.ini文件中,也可以自定擴展名,讓別人不知這是什麼文件
    然後組合字串的方法把各資料組合成連接字串
      

  2.   

    DengXingJie(杰西) ,谢谢你,能给我几句操作ini文件的代码吗,我不会操作呀!
      

  3.   

    #If Win32 Then
       Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationname As String, ByVal lpKeyName As Any, ByVal lsString As Any, ByVal lplFilename As String) As Long
       Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationname As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
    #Else
       Public Declare Function WritePrivateProfileString Lib "kernel" Alias "WritePrivateProfileStringA" (ByVal lpApplicationname As String, ByVal lpKeyName As Any, ByVal lsString As Any, ByVal lplFilename As String) As Long
       Public Declare Function GetPrivateProfileString Lib "kernel" (ByVal lpApplicationname As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
    #End If'讀
    Private Function ReadIni(ByVal FileName As String, ByVal Section As String, ByVal Key As String) As String
        On Error GoTo ErrExitFun
        Dim i As Long
        Dim buff As String * 128
        GetPrivateProfileString Section, Key, "", buff, 128, FileName
        i = InStr(buff, Chr(0))
        ReadIni = Trim((Left(buff, i - 1)))
    ErrExitFun:
    End Function'寫
    Private Sub WriteIni(ByVal FileName As String, ByVal Section As String, ByVal Key As String, lpValues As String)
       On Error GoTo ErrExitFun
        Dim U As Long
        U = WritePrivateProfileString(Section, Key, lpValues, FileName)
    ErrExitFun:
    End Sub
      

  4.   

    如1楼所说
    就是放几个Text框
    让用户写服务器名
    数据库用户名和密码
    然后也可以保存到注册表