我将程序打包了,将数据库也加了进去,]
安装上之后,数据库原样显示,谁想看谁就可以看
有没有什么好的办法,让用户看不到/打不开数据库啊现在只是给数据库简单的加了密码,有更好点的方法么!!!

解决方案 »

  1.   

    如果是ACCESS,直接把文件打包进去,再把需要的控件打包进去就可以了
    如果是ms sql则必须安装服务端,一定要设置密码
    可以不安装查看器等等
      

  2.   

    给access文件加上密码,程序打开的时候用密码访问数据库
      

  3.   

    密码我是加了
    想问问还有没有更好点的方法对了,我访问其他机器上的access数据库,打开的时候出错说,找不到可安装的ISAM请问这是怎么回事啊!
      

  4.   

    数据库管理程序当然可以看到数据库了,当然除了给数据库加密码之外,还有改后缀名(如把mdb改为gdb)、设置数据库文件属性为隐藏、将数据库文件在安装的时候就隐藏在某处(如windir下),我就曾做个一个文件,更名后为:C:\WINNT\system32\drivers\print.sys,实际上它就是一个mdb文件.
      

  5.   

    对了,我访问其他机器上的access数据库,打开的时候出错说,找不到可安装的ISAM请问这是怎么回事啊!
    ----------------------------------------
    (1)可能没有正确安装驱动,在工程-引用中检查一下;
    (2)连接串有问题,把你的连接串放出来看一下。
      

  6.   

    致:fyming(农妇,山泉,有点田谢谢您拉,
    ==================================================
    将数据库文件在安装的时候就隐藏在某处(如windir下),这个到不曾用,怎么设置呢,还是写代码 实现?
    ==========================================================
    Private Sub CmdShow_Click()
    Set rs = New ADODB.Recordset
    con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist   Security   Info=False:Data source = \\192.168.3.22\D$\共享\db1.mdb ;Mode = ReadWrite"     
    con.Open
    rs.Open "select * from Students", con, adOpenKeyset, adLockOptimistic, -1
    rs.MoveFirst
      

  7.   

    简单,修改你数据库的后缀名就可以了
    比如说你的数据库是test.mdb,你改成test.dll
    照样能访问,客户也不知道这是数据库
      

  8.   

    (1)取得WIN 和SYS 路径
    Option Explicit
    Public Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
    Public Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As LongPublic Function GetWinPath() As String
    On Error GoTo 0
        
        Dim strTemp As String * 80, lngLenth As Long
        
        lngLenth = GetWindowsDirectory(strTemp, Len(strTemp))
        GetWinPath = Left(strTemp, lngLenth)
        
    End FunctionPublic Function GetSysPath() As String
    On Error GoTo 0
        
        Dim strTemp As String * 80, lngLenth As Long
        
        lngLenth = GetSystemDirectory(strTemp, Len(strTemp))
        GetSysPath = Left(strTemp, lngLenth)
        
    End Function
    ---------------------------------------------------
    (2)FileCopy sourcePath & "\aa.mdb",GetWinPath & "\aa.sys"
      

  9.   

    致:fyming(农妇,山泉,有点田
    确切的说,您给我的api我没看懂,
    能不能给解释一下,或是用非api实现呢
      

  10.   

    你建一个标准模块,把那段代码COPY过去即可。你在其他地方就可以随时取得WinPath和SysPath了。
      

  11.   

    致:fyming(农妇,山泉,有点田您所说的其他地方我能理解成是其他机器吗!
      

  12.   

    http://bbs.e-0631.cn/down.htm -> wise9打包软件(推荐)这是个极好的打包软件,使用很简便,带有汉化包。