Voor het afhandelen van database verkeer heb ik een aantal COM objecten gemaakt. Deze COM objecten geven ADODB.recordsets terug. Dat werkt prima behalve met het onderstaande SQL statement.
De foutmelding die IIS geeft is:
Als ik dan regel 15 weglaat is die foutmelding weg maar komt er niets terug wat het SQL statement zou moeten returnen.
Ik heb de query in SQL query analyzer getest en daar werkt hij prima. Kan iemand mij uitleggen wat er fout gaat.
Andere functies in hetzelfde COM object kunnen wel gewoon recordsets terug geven. Ook wordt de INSERT data goed in de table ingevoerd. Alleen de data van het SELECT statement komt niet terug.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| 1 'this function adds a new user to the database
2 Public Function AddUser(Conn_str As String) As ADODB.Recordset
3 Dim oRs As New ADODB.Recordset
4 Dim oCmd As New ADODB.Command
5 Dim oConn As New ADODB.Connection
6 Dim SQL As String
7 oConn.Open Conn_str
8a 'SQL = "BEGIN TRANSACTION INSERT INTO table VALUES('bla','bla','bla','bla','bla','bla')
COMMIT SELECT field_id FROM table WHERE field_login = 'bla'"
9 oCmd.CommandText = SQL
10 oCmd.CommandType = adCmdText
11 oRs.CursorLocation = adUseClient
12 Set oCmd.ActiveConnection = oConn
13 oRs.Open oCmd
14 Set AddUser = oRs
15 Set oRs.ActiveConnection = Nothing
16 oConn.Close
17 Set oRs = Nothing
18 Set oCmd = Nothing
19 Set oConn = Nothing
20 Exit Function
21 End Function |
De foutmelding die IIS geeft is:
code:
1
2
3
4
| Error Type: ADODB.Recordset (0x800A0E7B) Cannot change the ActiveConnection property of a Recordset object which has a Command object as its source. |
Als ik dan regel 15 weglaat is die foutmelding weg maar komt er niets terug wat het SQL statement zou moeten returnen.
Ik heb de query in SQL query analyzer getest en daar werkt hij prima. Kan iemand mij uitleggen wat er fout gaat.
Andere functies in hetzelfde COM object kunnen wel gewoon recordsets terug geven. Ook wordt de INSERT data goed in de table ingevoerd. Alleen de data van het SELECT statement komt niet terug.
There is no place like 127.0.0.1