'数据库问题.用 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
多谢,还有没有更好的方法。最好有代码的例子。写一小段代码就成。以下是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
语法
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
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