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

    Errore ASP + MySQL con i campi di testo (blob o varchar)

    Ciao, premetto che non ho molta dimestichezza con mysql...
    ho una tabella da aggiornare con dei campi di tipo diverso:
    - smallint (autoincrement)
    - date
    - decimal
    - blob (o varchar)

    Tutti i campi sono obbligatori, salvo il campo blob.
    Quando faccio l'aggiornamento dei campi mi viene restituito questo errore:
    "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."

    Ho fatto un po' di controlli e l'errore è sull'aggiornamento del campo blob. Ho provato a cambiarlo in varchar(20) ma non è servito (ovviamente ho provato a caricare pochi caratteri).

    Qualcuno mi può aiutare?!
    Grazie,
    Cesare

    Questo è il mio codice:
    -------------------------------------------------------
    mySQLSVR = "xxx.xxx.xxx.xxx" ' IP mySQL Server
    mySQLPRT = 3306 ' Porta di mySQL (default 3306)
    mySQLUID = "xxx" ' username
    mySQLPWD = "xxx" ' password
    mySQLDB = "xxxx" ' nome dataBase
    MySQLOPT = 16387 ' myODBC valore opzionale, potrebbe essere diverso

    Set conn = Server.CreateObject("ADODB.Connection")

    mySQL_str = mySQL_str & "driver={MySQL ODBC 3.51 Driver};"
    mySQL_str = mySQL_str & "server="&mySQLSVR&";"
    mySQL_str = mySQL_str & "port="&mySQLPRT&";"
    mySQL_str = mySQL_str & "uid="&mySQLUID&";"
    mySQL_str = mySQL_str & "pwd="&mySQLUID&";"
    mySQL_str = mySQL_str & " database="&mySQLDB&";"

    conn.Open mySQL_str
    Set rs = Server.CreateObject("ADODB.Recordset")


    sql = sql & "SELECT * FROM spesepostali"
    sql = sql & "WHERE 1=0"

    'rs.CursorLocation = AdUseClient
    rs.Open sql, conn, 3, 3
    rs.addnew
    rs("DataSpedizione")=dataspedizione
    rs("ImportoSpedizione")=importo
    rs("MittenteSpedizioneId")=idmittente
    rs("DestinatarioSpedizione")=destinatario
    rs.update
    rs.close
    conn.close

    set rs = nothing
    set conn = nothing

    -------------------------------------------------------

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Devi fare una query di inserimento "insert into " e non con addnew, che non è supportato dal driver odbc di MySQL
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    ah!
    ok, grazie!

    cesare

  4. #4
    Ok, infatti ora funziona.
    Questa la sintassi che ho utilizzato... (per i posteri)

    sql = sql & "INSERT INTO spesepostali (MittenteSpedizioneId, DataSpedizione, DestinatarioSpedizione, ImportoSpedizione) "
    sql = sql & "VALUES ('"&idmittente&"','"&dataspedizione&"','"&destinat ario&"','"&importo&"')"

    rs.Open sql, conn, 3, 3

    In realtà c'è una curiosità che capita.
    Con il vecchio sistema inserivo correttamente le date nel formato italiano.
    Ora con questo sistema la data deve essere fornita nel formato yyyy/mm/dd

    Ho risolto con una funzioncina...
    Function mySQLDataFeed(dataMySQL)
    data=split(dataMySQL,"/")
    mySQLDataFeed = data(2)&"/"&data(1)&"/"&data(0)
    End function

    Rimane la cosa curiosa.

    Se c'è qualcuno che ha chiarimenti...

    Grazie e ciao!
    cesare

  5. #5
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    La data nel formato MySql è "aaaa-mm-dd" e così deve essere fornita nelle query.
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  6. #6
    l'ho letto, ma la cosa strana è che prima me la prendeva direttamente nel formato giusto... mah.

    cmq, ho notato anche che cambiando il formato di dati da blob (o varchar) in text funziona anche il metodo rs.addnew...

    cesare

  7. #7
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    440
    si ma il text ha sempre la limitazione a 256 caratteri vero?

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.