要求是从一个数据库读出数据写入另一个,如成功则在读出的数据中写入已写记号。是不是应该用com+ 是的话应该怎么用(在vb.net中到是知道,但公司用vb6,vb6的实现方法是什么呢?)。如果不用那还有什么好方法。

解决方案 »

  1.   

    两个 ADODB.CONNECTION 就搞定了啊
      

  2.   

    '数据库问题.用 openrowset来实现。
    语法
    OPENROWSET ( 'provider_name'
        , { 'datasource' ; 'user_id' ; 'password'
            | 'provider_string' }
        , { [ catalog.] [ schema.] object
            | 'query' } 
        ) 
    '例:
    USE pubs
    GO
    SELECT a.*
    FROM OPENROWSET('MSDAORA.1',
       'Password=123456;User ID=username;Persist Security Info=True',
       库名.表名) AS a
    GO
      

  3.   

    多谢,还有没有更好的方法。最好有代码的例子。写一小段代码就成。以下是vb.net高级编程中的源代码?有哪为高手帮我改成vb6的版本。主要就是vb6有没有象ServicedComponent这样的类Imports System.EnterpriseServices<Transaction(TransactionOption.RequiresNew)> Public Class TransSample
      Inherits ServicedComponent  Public Function TransferMoney(ByVal intDollars As Integer) As Boolean
        If TakeFromWrox(intDollars) = True Then
          If AddToJon(intDollars) = True Then
            ContextUtil.SetComplete()
            TransferMoney = True
          Else
            ContextUtil.SetAbort()
            TransferMoney = False
          End If
        Else
          ContextUtil.SetAbort()
          TransferMoney = False
        End If
      End Function  Private Function TakeFromWrox(ByVal intDollars As Integer) As Boolean
        Dim strConn As String
        Dim strCmd As String    Dim objConn As SqlClient.SqlConnection
        Dim objAdapter As SqlClient.SqlDataAdapter
        Dim objBuilder As SqlClient.SqlCommandBuilder    Dim objDataset As DataSet
        Dim objTable As DataTable
        Dim objRow As DataRow    Dim intBalance As Integer
            strConn = "DATABASE=BankOfwrox;SERVER=(local);INTEGRATED SECURITY=SSPI"
        strCmd = "Select * From Accounts"    objConn = New SqlClient.SqlConnection(strConn)
        objAdapter = New SqlClient.SqlDataAdapter(strCmd, objConn)
        objBuilder = New SqlClient.SqlCommandBuilder(objAdapter)
        objDataset = New DataSet()
        objAdapter.Fill(objDataset)    objTable = objDataset.Tables(0)
        objRow = objTable.Rows(0)
        intBalance = CInt(objRow("Amount"))    If intDollars > intBalance Then
          TakeFromWrox = False
        Else
          intBalance = intBalance - intDollars      objRow("Amount") = intBalance
          objAdapter.Update(objTable)      TakeFromWrox = True
        End If
        objConn.Close()
      End Function  Private Function AddToJon(ByVal intDollars As Integer) As Boolean
        Dim strConn As String
        Dim strCmd As String    Dim objConn As SqlClient.SqlConnection
        Dim objAdapter As SqlClient.SqlDataAdapter
        Dim objBuilder As SqlClient.SqlCommandBuilder    Dim objDataset As DataSet
        Dim objTable As DataTable
        Dim objRow As DataRow    Dim intBalance As Integer    If intDollars < 0 Then
          intDollars = intDollars / 0
        ElseIf intDollars < 500 Then
          AddToJon = False
        Else
                strConn = "DATABASE=BankOfwrox;SERVER=(local);INTEGRATED SECURITY=SSPI"
          strCmd = "Select * From Accounts"
          objConn = New SqlClient.SqlConnection(strConn)
          objAdapter = New SqlClient.SqlDataAdapter(strCmd, objConn)
          objBuilder = New SqlClient.SqlCommandBuilder(objAdapter)      objDataset = New DataSet()
          objAdapter.Fill(objDataset)      objTable = objDataset.Tables(0)
          objRow = objTable.Rows(0)      intBalance = CInt(objRow("Amount"))      intBalance = intBalance + intDollars      objRow("Amount") = intBalance
          objAdapter.Update(objTable)      objConn.Close()      AddToJon = True
        End If
      End Function
    End Class
      

  4.   

    有用过com+的告诉我这两个类的用法和去别 TransactionContextEx 、 TransactionContext