SELECT con condizione nuovi record

di il
4 risposte

SELECT con condizione nuovi record

Un saluto a tutti,da autentico neofita ho provato a fare tramite Visual Studio un FORM (in c#)con sopra una datagridview,tramite 
una select  interrogo una tabella dove vongono riportati dei dati inseriti da un'altro utente,pertanto per tenere sempre aggiornata il mio FORM ho inserito un timer il quale ripete la select ogni 5 secondi,purtroppo questo fa in modo che mentre mi muovo con lo scroll per visionare i dati ad ogni refresh vengo riportato alla riga iniziale.Quello che volevo sapere se e' possibile effettuare una select solamente se sono presenti nuovi record ,tipo usando una condizione WHERE altrimenti il comando non viene effettuato.
questa e' la riga di comando per chiedere a mysql i dati

private void timer1_Tick(object sender, EventArgs e)
{
    string connection = "server=localhost;user id=root;password=xxxxxxx;database=lavoro";
    string query = "pantaloni, t-shirt, marca, FROM negozio";
    MySqlConnection conn = new MySqlConnection(connection);
    MySqlCommand cmd = new MySqlCommand(query, conn);
    MySqlDataAdapter da = new MySqlDataAdapter();
    da.SelectCommand = cmd;
    DataTable dt = new DataTable();
    da.Fill(dt);
    dataGridView1.DataSource = dt;
}

di seguito come e' architettata la tabella mysql
database     lavoro
tabella      negozio
pantaloni---NULL
t-shirt----NULL
marca------NULL
scusate per la lungagine del post grazie per l'attenzione

4 Risposte

  • Re: SELECT con condizione nuovi record

    Mah… come stai visualizzando i dati?

    1. Se sei tra i primi record e un utente aggiunge o elimina l'ultimo record, non ha senso fare il refresh.

           Hai una vista tabellare con un tot di record per volta? (limit 30 per esempio)

    2) Leggo: negozio… di solito il form per il negozio ha una casella di input per un barcode o un codice reperibile sul prodotto… 

        in base alla vendita, controlli man mano la disponibilità del'articolo e lo confronti fra quelli che stai visualizzando. se ci sono articoli li aggiungi come “in vendita”, se confermano la vendita (scontrino o fattura) li sottrai dalla giacenza (tramite query che non vedo).

    3) per il refresh: se cambia il record che si sta visualizzando, mandi un messaggio all'utente. ti segni l'id, fai il refresh e ti riposizioni all'id. 

       tutto questo lato amministrativo non lato cassa (a meno che non vai dal cliente e gli togli dal carrello quello che sta comprando). lato cassa   non serve la giacenza: se ho in mano un pacco di biscotti passerà comunque, non devo verificarne la disponibilità.

    4) Che significano quei null???

  • Re: SELECT con condizione nuovi record

    30/05/2024 - sihsandrea ha scritto:


    Mah… come stai visualizzando i dati?

    1. Se sei tra i primi record e un utente aggiunge o elimina l'ultimo record, non ha senso fare il refresh.

           Hai una vista tabellare con un tot di record per volta? (limit 30 per esempio)

    2) Leggo: negozio… di solito il form per il negozio ha una casella di input per un barcode o un codice reperibile sul prodotto… 

        in base alla vendita, controlli man mano la disponibilità del'articolo e lo confronti fra quelli che stai visualizzando. se ci sono articoli li aggiungi come “in vendita”, se confermano la vendita (scontrino o fattura) li sottrai dalla giacenza (tramite query che non vedo).

    3) per il refresh: se cambia il record che si sta visualizzando, mandi un messaggio all'utente. ti segni l'id, fai il refresh e ti riposizioni all'id. 

       tutto questo lato amministrativo non lato cassa (a meno che non vai dal cliente e gli togli dal carrello quello che sta comprando). lato cassa   non serve la giacenza: se ho in mano un pacco di biscotti passerà comunque, non devo verificarne la disponibilità.

    4) Che significano quei null???

    Grazie per la risposta,sicuramente ho esposto male il problema ,nella mia datagridview ho oltre 3000 record che devo verificare piu' volte nell'arco della giornata ,il problema del refresh per mezzo di un timer sono obbligato a farlo perche' devo avere l'entrata di un nuovo record almeno entro un minuto ,quindi la datagridview deve esere sempre aggiornata ,questo pero' implica il fatto che allo scorrimento dei dati (che sono tanti) ad ogni aggiornamento vengo riportato all'inizio della pagina,non so' se risolverlo lato mysql oppure in c# lavorando sulla datagridview……booh

  • Re: SELECT con condizione nuovi record

    Lato c se li visualizzi lato c

    3000 record sono quisquiglie.. ma 30 sono troppi per visualizzarli..

  • Re: SELECT con condizione nuovi record

    Lato db usa un timestamp da trigger e lo usi per capire se il record ha subito modifiche.

Devi accedere o registrarti per scrivere nel forum
4 risposte