Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problema con mysql e campi di tipo text

    Ciao a tutti, ho un problema nell'utilizzo di mysql con i campi di tipo text, tinytext e longtext. Praticamente quando eseguo una query su una tabella con al suo interno un campo di tipo text, mentre tutti gli altri campi li posso utilizzare senza problemi, il campo text non posso usarlo perchè mi dà il seguente errore:

    codice:
    Provider (0x80040E21)
    Si sono verificati errori in un'operazione OLE DB composta da più passaggi.
    Controllare i singoli valori di stato OLE DB, se disponibili.
    Nessuna operazione eseguita.
    La riga incriminata è quella in cui utilizzo:
    nomevariabile = rs("nomecampo")

    Leggendo anche altre discussioni in questo forum, ho capito che potrebbe essere un problema di ADO che non gestisce bene i campi di tipo text, io utilizzo i driver ODBC 3.51, cosa posso fare???

    Ovviamente se modifico il tipo di campo da text a varchar, funziona tutto senza problemi...
    Ho provato anche a stampare a video il valore isnull, così:
    response.write isNull(rs("nomecampo"))
    La cosa funziona e mi stampa a video False, però quando invece uso:
    response.write rs("nomecampo")
    mi dà quell'errore.

    Se volete posto il codice, ma mi servirebbe qualcuno che ha già avuto questo problema e sa come si aggira...

    Aiutatemi per favore!!!

  2. #2
    non mi risulta...

    fammi vedere il codice intero dalla connessione e con la query.
    san imente saluta

    * http://simonecingano.it *

  3. #3
    ciao, il codice è il seguente:

    codice:
    Set conn = Server.CreateObject("ADODB.Connection")
    Set comm = Server.CreateObject("ADODB.Command")
    Set RS = Server.CreateObject("ADODB.Recordset")
    
    conn.CommandTimeout = 40
    conn.CursorLocation = 1 
    
    conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=127.0.0.1;DB=prova;UID=prova;PWD=prova"
    conn.Open
    
    comm.ActiveConnection = conn
    comm.CommandType = 1
    
    id = request("id")
    comm.CommandText = "SELECT ciccio FROM Followup WHERE id=" & id
    RS.Open comm,,1,1
    
    prova = rs("ciccio") 'QUI MI DA ERRORE!!! ciccio è il nome del campo text
    In tutto il resto del sito al momento non ho problemi di nessun tipo, sembrerebbe proprio un problema di gestione dei campi text...

  4. #4
    try this

    codice:
    dim Conn, Rs, SQL
    Set Conn = Server.CreateObject("ADODB.Connection")
    Set Rs= Server.CreateObject("ADODB.Recordset")
    
    Conn.open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=127.0.0.1;DB=prova;UID=prova;PWD=prova"
    
    id = request("id")
    SQL = "SELECT ciccio FROM Followup WHERE id=" & id
    Rr.Open SQL, Conn, 3, 3
    if not(Rs.eof) then
    prova = Rs("ciccio")
    else
    response.write "recordset vuoto"
    end if
    san imente saluta

    * http://simonecingano.it *

  5. #5
    Così funziona alla grande! Grazie mille, io usavo quel metodo diverso per eseguire le query che probabilmente non va troppo bene, nel tuo modo invece non ci sono problemi!



    Ciao!

  6. #6
    io non uso gli ADODB command...
    mai usati
    preferisco quella scrittura più pulita per una cosa così semplice

    l'altra differenza sono i parametri di connessione...

    buon lavoro
    san imente saluta

    * http://simonecingano.it *

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.