我是在Win2000下的,是COM+组件,另外,组件的代码如下: ' Option Explicit Public Function KCXX(ByVal KCID As String) As ADODB.Recordset On Error GoTo ErrorHandle Dim strSQL As String Dim objContext As ObjectContext ' 建立事务性组件 Set objContext = GetObjectContext() Dim objADOConn As ADODB.Connection Dim objRS As ADODB.Recordset Set objADOConn = New ADODB.Connection With objADOConn .ConnectionTimeout = 10 .ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=XXK" ' 通过OLEDB建立与数据库的连接 .Open End With Set objRS = New ADODB.Recordset strSQL = "SELECT * from 选修课 where 课程号='" & KCID & "'" '"like"关键字可实现模糊查询 objRS.Open strSQL, objADOConn ' 进行数据库查询 Set KCXX = objRS objContext.SetComplte ' 若事务成功完成,则提交该事务 objADOConn.Close Set objADOConn = Nothing Set objRS = Nothing strSQL = "" '关闭数据库连接,释放所有对象 Exit FunctionErrorHandle: objContext.SetAbort Set KCXX = Nothing ' 若事务失败,则回滚事务 End Function
' Option Explicit
Public Function KCXX(ByVal KCID As String) As ADODB.Recordset On Error GoTo ErrorHandle Dim strSQL As String Dim objContext As ObjectContext ' 建立事务性组件 Set objContext = GetObjectContext() Dim objADOConn As ADODB.Connection Dim objRS As ADODB.Recordset Set objADOConn = New ADODB.Connection With objADOConn .ConnectionTimeout = 10 .ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=XXK" ' 通过OLEDB建立与数据库的连接 .Open End With Set objRS = New ADODB.Recordset strSQL = "SELECT * from 选修课 where 课程号='" & KCID & "'" '"like"关键字可实现模糊查询 objRS.Open strSQL, objADOConn ' 进行数据库查询
Set KCXX = objRS objContext.SetComplte ' 若事务成功完成,则提交该事务 objADOConn.Close Set objADOConn = Nothing Set objRS = Nothing strSQL = "" '关闭数据库连接,释放所有对象 Exit FunctionErrorHandle: objContext.SetAbort
Set KCXX = Nothing ' 若事务失败,则回滚事务 End Function