Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    Chi mi guarda questa cosa?

    codice:
    OdbcConnection conn = new OdbcConnection("Driver={mySQL};Server=mySrvName;Option=16834;Database=mydatabase;");
    conn.Open();
    OdbcDataAdapter da = new OdbcDataAdapter("INSERT INTO Clienti(Nome, Cognome,Birth_date,Luogo_nascita,Res_city,Address,Cod_fis,Partita_iva,Num_tel,Num_fax,Note_cliente) VALUES()");
    Non guardate la query.. e adesso?
    Cioè adesso cosa devo fare per eseguire la query?
    Voglio l'alt+s anche per FF

  2. #2

    Re: Chi mi guarda questa cosa?

    Originariamente inviato da dops
    OdbcDataAdapter da = new OdbcDataAdapter("INSERT INTO Clienti... e adesso? Cioè adesso cosa devo fare per eseguire la query?
    Hai istanziato undatadapter passando come parametro una query di inserimento dati. Non si fa cosi
    Quando istanzi un dataadapter come parametro puoi passargli una query di selezione (es. select * from ....).
    Per eseguire una query di inserimento dati puoi utilizzare un "semplice" oggetto command e chiamare il suo metodo executenonquery. Es.
    codice:
    ' dichiaro le variabili 
    dim m_conn as OdbcConnection
    dim m_cmd as OdbcCommand
    try
    m_conn = New OdbcConnection("stringa di connessione") ' istanzio la connection 
    m_cmd = m_conn.createcommand  ' istanzio il command
    m_cmd.commandtext = "query sql di inserimento o update" ' associo una query al command 
    m_conn.open ' apro la connessione
    m_cmd.executenonquery ' eseguo la query
    finally 
    m_conn.close ' chiudo la connessione qui per essere sicuro che venga sempre fatto
    end try
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    ok.. ma mettiamo caso che invece del datareader volessi usare il dataset che poi la differenza tra i due non l'ho capita.. o meglio.. non vedo quale sia la differenza tra l'usare l'uno al posto dell'altro.. :
    codice:
    OdbcConnection conn = new OdbcConnection("Driver={mySQL};Server=mySrvName;Option=16834;Database=mydatabase;");
    	conn.Open();
    OdbcDataAdapter da = new OdbcDataAdapter("INSERT INTO Clienti(Nome,Cognome) VALUES("+cnome.Text+" + ccognome.)");
    	DataSet ds = new DataSet();
    	da.Fill(ds);
    	conn.Close();
    Manco và bene?
    ah uso c#
    Voglio l'alt+s anche per FF

  4. #4
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    uffaaaa..
    ho provato con il datareader:
    codice:
    OdbcConnection conn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver}; Server=localhost;Database=maximotogest;uid=root;pwd=;option=3");
    OdbcDataAdapter da = new OdbcDataAdapter("INSERT INTO Clienti(Nome,Cognome) VALUES("+cnome.Text+" ,"+ ccognome.Text +")",conn);
    OdbcCommand cmd = new OdbcCommand("INSERT INTO Clienti(Nome,Cognome) VALUES("+cnome.Text+" ,"+ ccognome.Text +")",conn);	
    	conn.Open();
    			cmd.ExecuteNonQuery();			
    			conn.Close();
    E mi dà questo errore:
    ERROR [42S22] [MySQL][ODBC 3.51 Driver][mysqld-4.0.20a-nt]Unknown column 'CICCIO' in 'field list'
    Ciccio è quello che scrivo nel campo web form "cnome"
    Lo stesso errore me lo dà anche se uso il dataset
    codice:
    OdbcConnection conn = new OdbcConnection(" Driver={mySQL};Server=mySrvName;Option=1
    6834;Database=mydatabase;");
    	conn.Open();
    OdbcDataAdapter da = new OdbcDataAdapter("INSERT INTO Clienti(Nome,Cognome) VALUES("+cnome.Text+" + ccognome.)");
    	DataSet ds = new DataSet();
    	da.Fill(ds);
    	conn.Close();
    Stò incominciando a pensare che non scrivo bene la query.. cacchio eppure è così.. ma .. forse mysql non la vuole così?
    Provo a vedere nella guida
    Voglio l'alt+s anche per FF

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    111
    Dal principio: :master:

    Quando tu vuoi eseguire statement di tipo SQL come INSERT INTO, UPDATE e DELETE che non restituiscono dati, la miglior cosa da fare è utilizzare il metodo ExecuteNonQuery dell'oggetto oledb/sqlCommand.
    Il DataAdapter lo devi usare come intermediario per popolare un DataSet o un DataTable.

    Inoltre:
    "INSERT INTO Clienti(Nome,Cognome) VALUES("+cnome.Text+" + ccognome.)");
    i campi testo vanno inseriti fra apici:
    codice:
    "INSERT INTO Clienti(Nome,Cognome) VALUES('"+cnome.Text+"' , '" + ccognome.Text + "')");
    ciao, javalon

  6. #6
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Ok allora vediamo se ho capito. Non devo utilizzare il data adapter per riempire un dataset quando eseguo query di tipo insert. Se devo eseguire query di tipo insert devo usare il comando executenonquery del metodo command dell'oggetto oledb/odbc/sqlCommand..
    quindi questo codice dorebbe andar bene?:
    codice:
    OdbcConnection conn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};  Server=localhost;Database=maximotogest;u
    id=root;pwd=;option=3");
    OdbcDataAdapter da = new OdbcDataAdapter("INSERT INTO Clienti(Nome,Cognome) VALUES("+cnome.Text+" ,"+ ccognome.Text +")",conn);
    OdbcCommand cmd = new OdbcCommand("INSERT INTO Clienti(Nome,Cognome) VALUES('"+cnome.Text+"' ,'"+ ccognome.Text +"')",conn);	
    	conn.Open();
    			cmd.ExecuteNonQuery();			
    			conn.Close();
    Voglio l'alt+s anche per FF

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    111
    questa riga la puoi togliere, non ti serve

    OdbcDataAdapter da = new OdbcDataAdapter("INSERT INTO Clienti(Nome,Cognome) VALUES("+cnome.Text+" ,"+ ccognome.Text +")",conn);
    ciao, javalon

  8. #8
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    opss.. si si.. avevo copiato tutto.. nel codice non l'o messa
    senti ti posso dare ancora fastdio? ma si
    Vorrei capire come funzionano i parametri (Parameter). Perchè mi è sembrato di capire che posso passare dei parametri all'sql, invece di scrivere i campi di testo all'interno dell'sql..
    Ma come funziona?
    Voglio l'alt+s anche per FF

  9. #9
    Originariamente inviato da dops
    ok.. ma mettiamo caso che invece del datareader volessi usare il dataset
    alt... fermi tutti
    chi ha parlato di datareader e di dataset?
    Dal tuo post iniziale sembra che vuoi fare un insrt di un record in una tabella.
    che poi la differenza tra i due non l'ho capita.. o meglio.. non vedo quale sia la differenza tra l'usare l'uno al posto dell'altro.. :
    e' semplice. Il datareader e' un oggetto che ti serve per riempirlo di record e leggere questi record dal primo all'ultimo. E' leggero e lo usi quando devi ad esempio popolare una dropdownlist. Il dataset e' la rappresentazione del database in memoria e quindi e' un oggetto dove puoi mettere un insieme (collection) di tabelle, relazionare le tabelle tra loro ecc.ecc..
    [code]
    OdbcDataAdapter da = new OdbcDataAdapter("INSERT INTO Clienti(Nome,Cognome) VALUES("+cnome.Text+" + ccognome.)");
    aaahhhh.... ma allora non ci capiamo
    come ti ho gia' detto nel post precedente, NON PUOI istanziare una dataadapter passando come parametro una query sql di inserimento.
    DataSet ds = new DataSet();
    da.Fill(ds);
    Manco và bene?
    no che non va bene. Mettiamo per ipotesi che da sia un dataadapter correttamente istanziato. Nel momento in cui chiami il da.fill nelle parentesi devi indicare sia il dataset che anche la datatable che vuoi riempire.
    ah uso c#
    mi fa piacere per te (statisticamente sembra che i programmatori c# guadagnino di piu' ) ma mi viene meglio in vb e non ho tempo a convertire in c#
    Saluti a tutti
    Riccardo

  10. #10
    Originariamente inviato da dops
    senti ti posso dare ancora fastdio? ma si
    se ti riferisci anche a me...
    Vorrei capire come funzionano i parametri (Parameter).
    apri un altro thread
    Saluti a tutti
    Riccardo

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.