01/12/08 13:47
daevoq
salve gente, è il mio primo post e ne approfitto per presentarmi.
dunque dunque, in pratica ho sviluppato un programma che collegandosi ad un database mysql mi permette visualizzazione, aggiunta, eliminazione e modifica di record.
il prog in questione è strutturato in 4 form
formLogin= effettua il login al DB (funziona)
form1 = contiene datagridview e pulsati quali Modifica, Inserisci, elimina blabla. (funziona)
formNuovo= permette di inserire 1 nuovo record (funziona)
e infine formModifica = permette di modficare un record (è lui che ha 1 problema)
in pratica devo recuperare una variabile da Form1 (la quale recupera l'id_rivenditore dal datagrid)
e passarla al formModifica che contiene 2 funzioni:
recuperaDati() - che mi prende i dati del record e me li incolla nelle textbox in modo da modificarli
&
modifica() - che mi fa la query di update.
ora, in form1 (quello col datagrid) io ho fatto in questo modo:
e passato il paramentro nella funzione recuperaDati() del formModifica in questo modo:
bene, funziona tutto tranne il fatto che la funzione modifica() non si vuole tirare il parametro che ho passato dando come errore:
Errore 1 Il nome 'idRivenditore' non esiste nel contesto corrente C:\Users\XXX\Documents\Visual Studio 2008\Projects\WindowsFormsApplication1\WindowsFormsApplication1\formModifica.cs 98 22 WindowsFormsApplication1
suggerimenti?
dunque dunque, in pratica ho sviluppato un programma che collegandosi ad un database mysql mi permette visualizzazione, aggiunta, eliminazione e modifica di record.
il prog in questione è strutturato in 4 form
formLogin= effettua il login al DB (funziona)
form1 = contiene datagridview e pulsati quali Modifica, Inserisci, elimina blabla. (funziona)
formNuovo= permette di inserire 1 nuovo record (funziona)
e infine formModifica = permette di modficare un record (è lui che ha 1 problema)
in pratica devo recuperare una variabile da Form1 (la quale recupera l'id_rivenditore dal datagrid)
uint idRivenditore = (uint)dataGridView1.CurrentRow.Cells[0].Value;
e passarla al formModifica che contiene 2 funzioni:
recuperaDati() - che mi prende i dati del record e me li incolla nelle textbox in modo da modificarli
&
modifica() - che mi fa la query di update.
ora, in form1 (quello col datagrid) io ho fatto in questo modo:
private void btModifica_Click(object sender, EventArgs e) { uint idRivenditore = (uint)dataGridView1.CurrentRow.Cells[0].Value; formModifica fmod = new formModifica(idRivenditore); fmod.Show(); }
e passato il paramentro nella funzione recuperaDati() del formModifica in questo modo:
namespace WindowsFormsApplication1 { public partial class formModifica : Form { public formModifica(uint idRivenditore) { InitializeComponent(); recuperoDati(idRivenditore); formModifica fmd = new formModifica(idRivenditore); } public void recuperoDati(uint idRivenditore) { string connQuery = "Database=prova; Data Source=192.168.233.128; Port=3307; User Id=root; Password="; //string queryRecupero = "SELECT citta FROM rivenditore WHERE id_rivenditore = " + idRivenditore + ";"; MySqlConnection connessione = new MySqlConnection(connQuery); //MySqlCommand query = new MySqlCommand(queryRecupero); connessione.Open(); DataTable data = new DataTable(); MySqlDataAdapter masterDataAdapter = new MySqlDataAdapter("SELECT * FROM rivenditore WHERE id_rivenditore = " + idRivenditore + ";",connessione); masterDataAdapter.Fill(data); if (data.Rows.Count > 0) { DataRow riga = data.Rows[0]; tbMail.Text = (string)riga["mail"]; tbRagioneSociale.Text = (string)riga["ragione_sociale"]; tbSito.Text = (string)riga["sito"]; tbCitta.Text = (string)riga["citta"]; tbTelefono.Text = (string)riga["telef"]; tbVia.Text = (string)riga["via"]; } else { MessageBox.Show("Selezionare un record"); } } public void modifica(uint idRivenditore) { try { string connQuery = "Database=prova; Data Source=192.168.233.128; Port=3307; User Id=root; Password="; string queryModifica = "UPDATE rivenditore SET ragione_sociale = '" + tbRagioneSociale.Text + "', via = '" + tbVia.Text + "',citta = '" + tbCitta.Text + "', telef = '" + tbTelefono.Text + "', mail = '" + tbMail.Text + "', sito = '" + tbSito.Text + "' WHERE id_rivenditore = '" +idRivenditore+ "' "; MySqlConnection connessione = new MySqlConnection(connQuery); connessione.Open(); MySqlCommand query = new MySqlCommand(queryModifica); query.Connection = connessione; try { query.ExecuteNonQuery(); MessageBox.Show("1 Record Modificato Correttamente"); } catch (MySqlException e) { MessageBox.Show(e.Message); } connessione.Close(); Close(); } catch (MySqlException e) { MessageBox.Show(e.Message); } } private void btAnnulla_Click(object sender, EventArgs e) { Close(); } private void btConferma_Click(object sender, EventArgs e) { [b] modifica(idRivenditore); [/b] <--- errore qui } } }
bene, funziona tutto tranne il fatto che la funzione modifica() non si vuole tirare il parametro che ho passato dando come errore:
Errore 1 Il nome 'idRivenditore' non esiste nel contesto corrente C:\Users\XXX\Documents\Visual Studio 2008\Projects\WindowsFormsApplication1\WindowsFormsApplication1\formModifica.cs 98 22 WindowsFormsApplication1
suggerimenti?
aaa