Ciao a tutti,
sto utilizzando la classe DALayer che allego in fondo per la chiamata dei recordset.
Ho un problema con le query che richiamino tabelle che abbiano dei campi DATE o DATETIME in un DB MySql.
Infatti queste query my restituiscono recordset vuoti se le richiamo con la funzione RetrieveRS(SQL).
Se invece rimuovo il campo DATE dalla tabella ecco che la query viene svolta correttamente ed il recordset mi viene restituito con i valori richiesti.
------------------------ IL MIO CODICE :
<%
Sql= "SELECT id, campodata From Tabella"
' CODICE NON FUNZIONANTE
Set Rs = Conn.RetrieveRS(Sql)
' ALTERNATIVA FUNZIONANTE CHE NON VORREI USARE
Set objConn = Server.CreateObject("ADODB.CONNECTION")
objConn.Open ConnStr
Set RS = Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql, objConn
%>
Ho come l'impressione che il settaggio dei cursori dia problema con il campo DATE ma non ho trovato documentazione che me lo confermi ... voi ne sapete qualcosa ???
Ciao e grazie
Eas
-------------------------LA CLASSE INCLUSA:
<%
Public Const adCmdText = 1
Public Const adUseClient = 3
Public Const adLockBatchOptimistic = 4
Public Const adOpenStatic = 3
Class DALayer
'--------------------------------------------------------------------------
' This Script Provides A Set Of Common Functions Used
' With ADO to Access Data And Execute Queries.
' Methods:
' RetrieveRS [Returns a Disconnected ADO Recordset]
' Inputs:
' sSQL-String-Statement to be Executed
' ExecuteQuery [Executes a SQL Query]
' Inputs:
' sSQL-String-Statement to be Executed
' SaveRS [Batch Updates a Record Set]
' Inputs:
' objRS-RecordSet used to update database
'--------------------------------------------------------------------------
'--------------------------------------------------------------------------
'Connection String Property
'--------------------------------------------------------------------------
Public sConn
Public Property Let ConnectionString(strData)
sConn = strData
End Property
Public Property Get ConnectionString()
ConnectionString = sConn
End Property
'--------------------------------------------------------------------------
' ExecuteQuery() Executes a Query Returning No Records
'--------------------------------------------------------------------------
Public Sub ExecuteQuery(sSQL)
Dim objConn
Set objConn = Server.CreateObject("ADODB.CONNECTION")
objConn.ConnectionString = sConn
objConn.Open
objConn.Execute sSQL, , adCmdText
Set objConn = Nothing
End Sub
'--------------------------------------------------------------------------
' RetrieveRS() Executes a Query & Retrieves a Disconnected Recordset
'--------------------------------------------------------------------------
Public Function RetrieveRS(sSQL)
Dim objConn, objRS
Set objConn = Server.CreateObject("ADODB.CONNECTION")
Set objRS = Server.CreateObject("ADODB.RecordSet")
objConn.ConnectionString = sConn
objConn.Open
objRS.CursorLocation = adUseClient
objRS.CursorType = adOpenStatic
objRS.LockType = adLockBatchOptimistic
objRS.Open sSQL, objConn, , , adCmdText
Set objRS.ActiveConnection = Nothing
Set RetrieveRS = objRS
Set objRS = Nothing
Set objConn = Nothing
End Function
'--------------------------------------------------------------------------
' SaveRS() Updates DataSource Using a Disconnected Recordset
'--------------------------------------------------------------------------
Public Sub SaveRS(objRS)
Dim objConn
Set objConn = Server.CreateObject("ADODB.CONNECTION")
objConn.ConnectionString = sConn
objConn.Open
Set objRS.ActiveConnection = objConn
objRS.UpdateBatch
Set objRS = Nothing
Set objConn = Nothing
End Sub
End Class
%>