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

    errore insert in delphi

    PER FAVORE......

    Chi mi può dare una mano????

    Devo inserire attraverso un Edit un valore string/integer
    in un campo di un database MYSQL

    Sto usando MYSQL QUERY ... insieme a DELPHI .

    Ho inserito TADOCONNECTION, TADODATASET, ADOCOMMAND E DATASOURCE

    Dove sbaglio????? ??????????

    con mysql query il codice dovrebbe essere questo:
    ADOCOMMAND1.COMMANDTEXT = 'UPDATE NOMEDATABASE.NOMETABELLA SET NOME= EDITNOME.TEXT';


    con delphi dovrebbe essere questo:

    ADOCOMMAND1.COMMANDTEXT = 'INSERT INTO NOMEDATABASE.NOMETABELLA (NOME) VALUES = (EDITNOME.TEXT)';



    Vi ringrazio in anticipo...
    fairy_2007

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Ovviamente non puoi inserire il nome di un componente all'interno dello statement SQL: questo vorrebbe dire passare a MySQL un dato che è del tutto sconosciuto al database, che non ha la minima idea di cosa sia EDITNOME.TEXT.

    Devi concatenare le stringhe usando l'operatore +, accodando il valore contenuto nella casella allo statement SQL. E' sempre meglio comunque usare "query parametriche" e valorizzare i parametri attraverso la proprietà Parameters, senza fare concatenamenti.

    Per la verità, se hai questo genere di difficoltà che riguardano proprio la base del linguaggio, e non solo l'uso specifico di componenti per l'accesso ai database, io ti consiglio di documentarti sui "fondamenti" prima di iniziare a sviluppare qualcosa che richieda conoscenze non ancora maturate.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3

    Re: errore insert in delphi

    Originariamente inviato da fairy_2007
    PER FAVORE......

    Chi mi può dare una mano????

    Devo inserire attraverso un Edit un valore string/integer
    in un campo di un database MYSQL

    Sto usando MYSQL QUERY ... insieme a DELPHI .

    Ho inserito TADOCONNECTION, TADODATASET, ADOCOMMAND E DATASOURCE

    Dove sbaglio????? ??????????

    con mysql query il codice dovrebbe essere questo:
    ADOCOMMAND1.COMMANDTEXT = 'UPDATE NOMEDATABASE.NOMETABELLA SET NOME= EDITNOME.TEXT';


    con delphi dovrebbe essere questo:

    ADOCOMMAND1.COMMANDTEXT = 'INSERT INTO NOMEDATABASE.NOMETABELLA (NOME) VALUES = (EDITNOME.TEXT)';



    Vi ringrazio in anticipo...
    fairy_2007
    se voglio fare l'update di una tabella impostando il campo nome alla stringa contenuta in EditNome.Text la query la deve costruire in questo modo

    var
    query : string;
    nome_database, nome_tabella : string;
    begin
    nome_database := 'mio_database';
    nome_tabella := 'mia_tabella';
    ...
    query := 'update ' + nome_database + '.' + nome_tabella + ' set nome="' + EditNome.Text + '"';
    ...
    end;

    tenendo presente che modifichi il campo nome di tutta la tabella (se vuoi filtrare devi aggiungere uno statment where condizione alla query)

    ciao
    sergio

  4. #4
    Ti ringrazio tantissimo per la risposta....
    ci provo!!!
    Buon lavoro!!!

    fairy_2007

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.