Uhm... però io non uso direttamente l'SQL quando inserisco dati con l'apostrofo.
Ho ricontrollato il codice e faccio interfacciare Gambas per cui non so se esegue un qualche tipo di conversione da codifica a codifica.
Tanto per intendersi:
Risultato["nome"] = txtNome.Text
Scusa leo ma non ho capito l'esempio che hai postato.
Io normalmente per inserire dati in MySQL uso questa sintassi
("INSERT INTO anagrafica (indirizzo) VALUES ('" & TxtIndirizzo.Text & "')")
Come ti ho detto, non uso per inserire i dati l'SQL puro, quindi non eseguo query SQL. Mi affido ai metodi di Gambas.
L'esempio che ti ho postato fa parte di una porzione di codice più ampia. Restringendo diciamo che sarebbe così:
Connessione.OPEN
Risultato = Connessione.Create("anagrafica")
Risultato["codice"] = codice
Risultato["cognome"] = txtCognome.Text
Risultato["nome"] = txtNome.Text
Risultato.Update
Connessione.Commit
Connessione.Close
1)
Delete dato senza parametri cancella un'intera tabella:
Connection.Delete(NomeTabella)
Per la cancellazione di un solo record, devi mettere i parametri nel comando Connection.Delete(), né più né meno di come faresti per una ricerca o un'edit. Quindi, per cancellare il record il cui campo ID, ad esempio, fosse 1234, basta dare:
Connesione.Delete(NomeTabella, "ID = &1", ValoreID)
Se invece vuoi ad esempio cancellare tutti i nominativi che si chiamano Rossi, dai:
Connessione.Delete(NomeTabella, "cognome = &1", "Rossi")
In pratica, Delete esegue una query filtrando i risultati con i parametri immessi, come se eseguissi un WHERE in SQL puro.
2)
I metodi di gestione dei record in Gambas puoi usarli insieme a query SQL. Io faccio così, infatti, utilizzando i primi per normali lavori di aggiunta, editazione e cancellazione di singoli record, mentre utilizzo l'SQL puro quando devo fare ricerche avanzate nel DB. Non c'è nessuna regola per cui devi usare o l'uno o l'altro: gli strumenti di un linguaggio sono lì apposta per aiutarti a raggiungere il tuo scopo ;-)
purtroppo non esiste una documentazione dettagliata e completa dell' utilizzo dei metodi.
I metodi implementati da gambas secondo la mia opinione sono una comodità per riuscire a lavorare con un db senza conoscere la sintassi sql.
in alternativa puoi usare il metodo exec inserendo una query standard che effettua le tue richieste, in questo caso il lavoro sporco viene fatto dalla query , per sapere che query utilizzare hai una quasi infinita scelta di documentazione inerente il "linquaggio" SQL.
poi puoi sempre provare andando a tentoni ad esempio con:
Connessione.Delete(NomeTabella, "cognome = &1", "Rossi","citta=&1","milano")
oppure
Connessione.Delete(NomeTabella, "cognome = &1","citta=&1", "Rossi","milano")