[VB.NET] Problema query con datatable e firebird

di il
1 risposte

[VB.NET] Problema query con datatable e firebird

Ciao a tutti!

Sto facendo un programmino che comunica con un DB firebird e deve fare delle ricerche dentro il db stesso ma sono bloccato da stamattina e non ho ancora trovato soluzione!

In pratica devo fare ciò, nel db ci sono i MAC address delle macchine che si connettono salvate dentro ad una tabella, io devo poter connettermi con il mio programma e controllare se il MAC del pc che sto utilizzando è già nel db oppure no, fino ad ora sono arrivato a questo punto:


Dim Query As String = "SELECT * FROM licenze ORDER BY id ASC"
    Public Str_Co As String = "Database=il.mio.ip:c:\OdS_AT.FDB;ServerType=0;username=sysdba;password=masterkey;"
    Dim Co As New FbConnection

    ' Mi connetto, creo la tabella, la riempio e controllo se ci sono valori
    Co.ConnectionString = Str_Co
    Dim Adattatore As New FbDataAdapter(Query, Co)
    Dim Tabella As New DataTable
        Adattatore.Fill(Tabella)
        Adattatore.Dispose()
        Tabella.Dispose()

    Dim reg_macaddress As String = "8CA98277FEA9"

    Dim foundrows() As DataRow = Tabella.Select("macaddress = '" & reg_macaddress & "'")
        If foundrows.Count = 0 Then
            MessageBox.Show("Nessun record")
        ElseIf Tabella.Rows.Count > 0 Then

            MessageBox.Show(Tabella.Rows.Count)
        Else
            MessageBox.Show("errore")

        End If

Il problema è che pare non applichi il filtro sulla datatable perchè qualsiasi cosa ci sia scritta nel indirizzo MAC (sia che già esista sia che manchi) mi da sempre la quantità totale delle righe caricate nel DB.

Aiuto non so più dove sbattere la testa ><

Grazie in anticipo!

1 Risposte

  • Re: [VB.NET] Problema query con datatable e firebird

    La risposta sta qua
     ElseIf Tabella.Rows.Count > 0 Then
    
                MessageBox.Show(Tabella.Rows.Count)
    finché continui a visualizzare il totale sulla tabella generica, ovviamente mostrerà sempre quello

    ti do un consiglio, modifica il codice in questo modo
    
    
    Dim reg_macaddress As String = "8CA98277FEA9"
    Dim Query As String = "SELECT * FROM licenze Where macaddress = '" & reg_macaddress & "' ORDER BY id ASC"
        Public Str_Co As String = "Database=il.mio.ip:c:\OdS_AT.FDB;ServerType=0;username=sysdba;password=masterkey;"
        Dim Co As New FbConnection
    
        ' Mi connetto, creo la tabella, la riempio e controllo se ci sono valori
        Co.ConnectionString = Str_Co
        Dim Adattatore As New FbDataAdapter(Query, Co)
        Dim Tabella As New DataTable
            Adattatore.Fill(Tabella)
            
    
            If Tabella .Count = 0 Then
                MessageBox.Show("Nessun record")
            ElseIf Tabella.Rows.Count > 0 Then
    
                MessageBox.Show(Tabella.Rows.Count)
            Else
                MessageBox.Show("errore")
    
            End If
    
    Adattatore.Dispose()
            Tabella.Dispose()
    
Devi accedere o registrarti per scrivere nel forum
1 risposte