1,可以;需要,但并不是唯一的方式。
2,通过在sql里设置用户和权限来解决。
3,

解决方案 »

  1.   

    1.能!用adodc控件,绝大多数的功能都能够实现,好好研究一下adodc的属性吧,它可以直接与
    SQLSERVER连接
    2.只要设计期与数据库连通,编译成执行文件后,任何用户都可直接连通,至于想设置用库权限的问题,SQLSERVER有一套完善的权限机制,通过程序来控制也不是不可,但太烦琐,而且它主要是面对
    管理的,一般的数据库程序所需要的权限逻辑很简单,用自己定义的用户表格和一些控制逻辑完全可以实现
    3.这种情况在DELPHI中完全可以,但在VB中没试过,不过只要能激活OLE文档,并能编辑,剩下的问题就是字段的处理了,即怎样将文档存入字段,估计不会太难
      

  2.   

    1、可以,不需要设置ODBC,直接设置ADO即可。
    2、可以在ADO连接数据库的命令中包含隐藏帐号,不会出现密码输入框。
    3、应该可以吧,也可以从数据库中取出来后在打开。
      

  3.   

    用ADO直接连接到SQLSERVER以及设定访问权限在很多地方都能找到例程,将BMP、DOC等OLE文件放入字段中可先以二进制方式打开文件,将文件内容放入BYTE数组中,然后向filed.value赋值,要对其用OLE方式编辑时必须将其重新写回文件中再打开。
      

  4.   

    使用Adodc控件完全可以访问数据库,但不灵活,最好使用ADO对象。
    Public Con As New ADODB.Connection
    .......
    strCon = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Dckfb;Data Source=NETSERVER"
        'Open the connection
        Con.Open strCon, "Admin", "", adConnectUnspecified
    'specify a recordset
    Dim rsMat As New ADODB.Recordset
    Dim recSrc As String
    recSrc = "SELECT Materials.材料, Materials.材料名称, Materials.规格代号, Materials.材质 from materials order by 材料"
    rsMat.Open recSrc, Con, adOpenStatic, adLockOptimistic, adCmdText
    'then you can access then data in the above recordset
    .......For i = 1 To iCount
        For k = 1 To colCount
            If Not IsNull(rsMat.Fields(k - 1).Value) Then
                Grid.TextMatrix(i, k) = rsMat.Fields(k - 1).Value
            End If
        Next k
        rsMat.MoveNext
    Next i上面的代码中建立连接时即用了Windows NT域管理员身份登录(不是SQL Server用户模式),这样我可以在程序中控制实际用户所能够进行的操作。关于OLE,抱歉,我没有使用过。但我认为,编程处理这些数据也很容易。最笨的办法是将DOC(或其他)文件所有的字节写入数据库,使用时可以从数据库中读出。