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

    [VB.NET]: Select where like.....

    Buongiorno ragazzi,
    arrivo subito al dunque, per inserire i dati di una db.accdb in una datagridview utilizzo il seguente codice:

    codice:
     Dim conn1 As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Labo_Web\DB\DB_LABO.accdb") 
    Dim cmd1 As New OleDbCommand("Select Distinct Fornitore, Aricoli, Tipologia_Articolo From DB_ARTICOLI Where Fornitore LIKE '%" & Cbo_azienda.Text & "%'", conn1)  Dim Da As New OleDbDataAdapter
    Da.SelectCommand = cmd1
    Dim DB As New DataTabl
    DB_1.Clear()
    Da.Fill(DB_1)
    Dtg_Articoli.DataSource = DB_1
    ecc.
    ecc.
    Fin qui tutto ok, ma vorrei utilizzare anche la ricerca di dati specifici nella colonna "Tipologia_Articolo" oltre che alla scelta del "Fornitore" in questo modo:

    Fornitore = "Gucci"
    Tipologia_Articolo = "Profumi" (caricare solo dati che contengono la parola "Profumi")

    Mi sono spiegato sicuramente malissimo. ma spero che la vs esperienza sorvoli la mia ignoranza!
    SanMichele

  2. #2
    confermo che ti sei spiegato malissimo cosa vuoi fare, ricarcare per due parametri? usa "AND" nella tua WHERE

  3. #3
    ciao optime, in effetti hai ragione in tutto
    ora provo con and
    grazie

  4. #4

  5. #5
    codice:
    Dim cmd1 As New OleDbCommand("Select Distinct Fornitore, Articoli, Tipologia_Articolo From DB_ARTICOLI Where Fornitore= '" & Cbo_azienda.Text & "' And Tipologia_Articolo='Profumi'", conn1)
    Ciao optime e a tutti,
    mi pare corretto, l'ho leggermente modificato ma sembra funzionare...
    Dammi la tua opinione optime

    Grazie
    SanMichele

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,338
    Quote Originariamente inviata da SanMichele Visualizza il messaggio
    mi pare corretto, l'ho leggermente modificato ma sembra funzionare...
    Non si mettono i valori direttamente dalle caselle di testo nella query!
    Si usano i parametri, nel caso in questione oggetti della classe OleDbParameter.

    Così esponi il software a SQL Injection, e le multe per violazione del GDPR non sono proprio alla portata; inoltre basta un apice per causare un errore di sintassi nella query.

    Leggi la documentazione e gli esempi nella pagina della documentazione.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  7. #7
    @SanMichele, ascolta i consigli di alka. E comunque, anche a voler usare le caselle di testo, la tua query è sbagliata (prenderà sempre e solo 'Profumi')


  8. #8
    Grazie Alka e optime
    procedo immediatamente
    Grazie veramente
    SanMichele
    Vi giro tutto

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 © 2024 vBulletin Solutions, Inc. All rights reserved.