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

    Problema con migrazione da Access a Mysql

    Come da titolo sto cercando di passare da Access a MySql e con mio stupore ho trovato pagine che non dovevano funzionare (pagine con utilizzo di AddNew e PageSize) e che funzionano (anche se ho letto che le versioni più recenti di mySql supportano sempre di più queste funzionalità di Ado non speravo tanto) e altre che per motivi che ignoro non vanno.

    Ricevo errori per query semplicissime, ad esempio queste due:
    codice:
    strSql = "SELECT aAuth FROM annunci WHERE aId = " & aId & " AND aAuth = " & session("uId")
    
    strSql = "SELECT aId, aDate, aCat, aTitle, aPrice, aState, subName, catName FROM annunci, categorie, subCat WHERE aAuth = " & uId & _
    		"AND aCat = subId AND subFather = catId ORDER BY aDate DESC
    Mi restituiscono come errore
    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
    Il driver ODBC non supporta le proprietà richieste.
    Cosa sbaglio? :master: (ribadisco che ho cominciato a imparare MySql da un giorno quindi siate comprensivi!)

    Graaazie!

  2. #2
    Beh, per il primo forse ho capito dov'è l'errore:
    creo un record nuovo con rs.AddNew e ne prendo subito l'id del nuovo record per comunicarlo via form alla pagina successiva che mi da errore con

    codice:
    rs.Open strSql, objConn, 3, 3
      rs.AddNew
      aId = rs("aId")
    [...........]
    
    Response.Write "<input type=""hidden"" name=""aId"" value=""" & aId & """ />
    Ma nella pagina successiva trovo solo
    codice:
    <input type="hidden" name="aId" value="" />
    quindi passando a INSERT INTO come faccio ad avere l'id del nuovo record appena creato? Devo fare una nuova query?

    Ri-grazieee

  3. #3
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    missà che prima di prendere l'id devi fare un rs.Update

  4. #4
    Con access funziona perfettamente così com'è, per sicurezza ho provato ma non va.

    Leggendo quà e la ho trovato che una soluzione è fare un altra query subito dopo l'insert per avere l'ultimo ID
    codice:
    "SELECT LAST_INSERT_ID() FROM Table1"
    Per php (i soliti privilegiati ) esiste una funzione mysql_insert_id e per ASP ???

  5. #5
    Per completezza ho trovato anche l'errore della seconda sql: mancava uno spazio tra un valore inserito con " & uId & " e l'"AND" successivo (risultato "aAuth = 24AND" ) che con Access non dava errori.

    Sto scoprendo che MySql è molto più pignolo e fiscale del tipico livello "ma si dai, va bene lo stesso" dei prodotti Microsoft (Access, IE etc)...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.