Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [C#] modulo ricerca

  1. #1

    [C#] modulo ricerca

    Ciao,
    ho creato per test una semplice applicazione collegata ad un DB access, riesco ad inserire
    dati, ma non mi riesce di di trovare una soluzione per la ricerca.
    In pratica attraverso una textbox, vorrei inserire il nome e all'evento click de un pulsante
    visualizzare i dati in altre textbox per modificarne i dati.
    Con il codice seguente visualizzo i soltanto l'ultimo record inserito, ma per fare una ricerca mirata,
    non ne vengo fuori. qualche suggerimento?
    codice:
    private void button1_Click(object sender, EventArgs e)
            {
                {
                    string conn = null;
                    OleDbConnection cnn;
                    OleDbCommand oledbcmd;
                    string sql = null;
                    conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=clienti.mdb;";
                    sql = "Select id,nome,cognome,sesso from clienti";
                    cnn = new OleDbConnection(conn);
                    try
                    {
                        cnn.Open();
                        oledbcmd = new OleDbCommand(sql, cnn);
                        OleDbDataReader oledbreader = oledbcmd.ExecuteReader();
                        while (oledbreader.Read())
                        {
                            txtVisualizza.Text = oledbreader.GetValue(1) + "\r\n";
                            txtvisualizza1.Text = oledbreader.GetValue(2) + "\r\n";
                            txtvisualizza2.Text = oledbreader.GetValue(3) + "\r\n";
                        }
                        oledbreader.Close();
                        oledbcmd.Dispose();
                        cnn.Close();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
    
                }
            }
    La vita è come la scaletta di un pollaio... corta, ripida e piena di m....

    La mia vera facciozza..

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ho capito il problema ... non riesci a visualizzare tutti i dati restituiti dalla query o vuoi selezionare alcuni dati precisi?

    Ovviamente se esegui un ciclo visualizzando tutti i record nelle stesse textbox alla fine del ciclo visualizzerai l'ultima. Dovrai usare un altro controllo, magari una griglia ...

    Se ne vuoi visualizzare uno specifico, dovrai invece impostare una clausola WHERE nella SELECT e visualizzare il singolo record selezionato.

    P.S. Per il C# esiste la sezione apposita ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Chiedo scusa per l'errata sezione.
    Grazie per la risposta, la soluzione che cerco è quella di visualizzare il risultato in base alla ricerca, quindi penso che la cosa migliore sia
    la tua 3° ipotesi, solo che con i tentativi che ho fatto non sono riuscito ad ottenere il risultato.
    ho fatto in questo modo ma non funziona, nonostante non restituisca errori.

    codice:
    private void button1_Click(object sender, EventArgs e)
            {
                {
                    string conn = null;
                    OleDbConnection cnn;
                    OleDbCommand oledbcmd;
                    string sql = null;
                    conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=clienti.mdb;";
                    sql = "Select id,nome,cognome,sesso from clienti where nome ="+txtricerca.text;                cnn = new OleDbConnection(conn);
                    try
                    {
                        cnn.Open();
                        oledbcmd = new OleDbCommand(sql, cnn);
                        OleDbDataReader oledbreader = oledbcmd.ExecuteReader();
                        while (oledbreader.Read())
                        {
                            txtVisualizza.Text = oledbreader.GetValue(1) + "\r\n";
                            txtvisualizza1.Text = oledbreader.GetValue(2) + "\r\n";
                            txtvisualizza2.Text = oledbreader.GetValue(3) + "\r\n";
                        }
                        oledbreader.Close();
                        oledbcmd.Dispose();
                        cnn.Close();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
    
                }
            }
    La vita è come la scaletta di un pollaio... corta, ripida e piena di m....

    La mia vera facciozza..

  4. #4
    Ok, ho risolto, posto la soluzione caso mai servisse anche ad altri:

    codice:
    private void button1_Click(object sender, EventArgs e)
            {
                {
                    string nome = txtricerca.Text;
                    string conn = null;
                    OleDbConnection cnn;
                    OleDbCommand oledbcmd;
                    string sql = null;
                    conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=clienti.mdb;";
                    cnn = new OleDbConnection(conn);
                    try
                    {
                        cnn.Open();
                        oledbcmd = new OleDbCommand("Select id,Nome,Cognome,Sesso from clienti" + " where Nome = ?", cnn);
                        oledbcmd.Parameters.Add("Nome",nome);
                        OleDbDataReader oledbreader = oledbcmd.ExecuteReader();
                        while (oledbreader.Read())
                        {
                            txtVisualizza.Text = oledbreader.GetValue(1) + "\r\n";
                            txtvisualizza1.Text = oledbreader.GetValue(2) + "\r\n";
                            txtvisualizza2.Text = oledbreader.GetValue(3) + "\r\n";
                        }
                        oledbreader.Close();
                        oledbcmd.Dispose();
                        cnn.Close();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
    
                }
            }
    In pratica ho aggiunto la SELECT al comando OLEDB e aggiunto i parametri di ricerca.
    Grazie Ancora Oregon per lo spunto
    Buon Anno
    La vita è come la scaletta di un pollaio... corta, ripida e piena di m....

    La mia vera facciozza..

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.