Studiando il .net

di il
2 risposte

Studiando il .net

Essendo il mio primo messaggio è dovuto un grazie che ci siete. Allora; ho un problema col .net e sono alle prime armi,
interrogando un database .mdb non riesco ad uscirne fuori da questo errore. Ho scritto questo codice con l'intento di cercare piu' numeri nel db, ma ho diversi errori e debuggando la guida in linea mi suggerisce: (per ovviare a questo problema, utilizzare oggetti con associazione anticipata oppure passare una variabile anziché una proprietà dell'oggetto.) per via dell'errore "MissingMethodException" (HRESULT CORE_E_MISSINGMETHOD).
mi permetto di allegare il codice e spero che qualcuno possa aiutarmi a risolvere, la parte in causa è (rec.Open(query, c) )
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
        Dim num As Integer
        Dim query, stringa, ss() As String
        Dim i As Integer

        Dim c As New ADODB.Connection
        Dim cr As ADODB.Connection
        cr = New ADODB.Connection
        c.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & file & ";Persist Security Info=False"
        c.Open()
        Dim rec As New ADODB.Recordset
        rec.CursorType = ADODB.CursorTypeEnum.adOpenStatic
        rec.LockType = ADODB.LockTypeEnum.adLockOptimistic


        stringa = TextBox9.Text
        ss = stringa.Split(".")

        For i = 0 To ss.Length()
            num = Convert.ToInt32(ss(i))
            query = "SELECT * FROM archivio WHERE a=" & num & " OR b=" & num & _
                                 " OR c=" & num & " OR d=" & num & " OR e=" & num & " OR f=" & num & " OR j=" & num
            rec.Open(query, c)
        Next i

        If Not rec.EOF Then
            rec.MoveFirst()
            Do While Not rec.EOF

                ListBox1.Items.Add(rec("data").Value)

                rec.MoveNext()
            Loop
        End If

        rec.Close()
        c.Close()
        
    End Sub

    Private Sub numeroJolly2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles numeroJolly2.TextChanged

    End Sub

    Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged

    End Sub
End Class

2 Risposte

  • Re: Studiando il .net

    Bene, a colpi di studio e con l'aiuto di qualche consiglio di un buon amico in parte ho risolto; l'errore è sparito,
    pero' adesso non capisco che motodo posso usare per querare la ricerca di una coppia di numeri. Come sono riuscito a risolvere adesso, la ricerca viene effettuata interrogando il database su ogni singolo numero che inserisco, a me servirebbe saltare questa condizione e avere il risultato nella listbox di almeno due numeri usciti assieme. accetto consigli e grazie
    Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
            Dim num As Integer
            Dim query, stringa, ss() As String
            Dim i As Integer
    
            Dim c As New ADODB.Connection
            Dim cr As ADODB.Connection
            cr = New ADODB.Connection
            c.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & file & ";Persist Security Info=False"
            c.Open()
            Dim rec As New ADODB.Recordset
            rec.CursorType = ADODB.CursorTypeEnum.adOpenStatic
            rec.LockType = ADODB.LockTypeEnum.adLockOptimistic
    
    
            stringa = TextBox9.Text
            ss = stringa.Split(",")
    
            query = "SELECT * FROM archivio"
            rec.Open(query, c)
    
            For i = 0 To ss.Length() - 1
                num = Convert.ToInt32(ss(i))
                query = "SELECT * FROM archivio WHERE a=" & num & " OR b=" & num & _
                                     " OR c=" & num & " OR d=" & num & " OR e=" & num & " OR f=" & num & " OR j=" & num
                rec.Requery()
            Next i
    
            If Not rec.EOF Then
                rec.MoveFirst()
                Do While Not rec.EOF
    
                    ListBox1.Items.Add(rec("data").Value)
    
                    rec.MoveNext()
                Loop
            End If
    
            rec.Close()
            c.Close()
        End Sub
    
        Private Sub numeroJolly2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles numeroJolly2.TextChanged
    
        End Sub
    
        Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
    
        End Sub
    End Class
  • Re: Studiando il .net

    Dopo ore di coding ho risolto, almeno questo problema della ricerca multipla e ne ho dovute cambiare di cose, maledetto .net

    Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
            Dim num As Integer
            Dim query, stringa As String
            Dim i As Integer
    
            Dim c As New ADODB.Connection
            Dim cr As ADODB.Connection
            cr = New ADODB.Connection
            c.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & file & ";Persist Security Info=False"
            c.Open()
            Dim rec As New ADODB.Recordset
            rec.CursorType = ADODB.CursorTypeEnum.adOpenStatic
            rec.LockType = ADODB.LockTypeEnum.adLockOptimistic
    
    
            stringa = TextBox9.Text
            ListBox1.Items.Clear()
    
            query = "SELECT data FROM archivio WHERE VAL(a IN (" & stringa & ")) + VAL(b IN (" & stringa & ")) + VAL(c IN (" & stringa & ")) + VAL(d IN (" & stringa & ")) + VAL(e IN (" & stringa & ")) + VAL(f IN (" & stringa & ")) + VAL(j IN (" & stringa & ")) < VAL(true);"
            rec.Open(query, c)
    
            If Not rec.EOF Then
                rec.MoveFirst()
                Do While Not rec.EOF
    
                    ListBox1.Items.Add(rec(0).Value)
    
                    rec.MoveNext()
                Loop
            End If
    
            rec.Close()
            c.Close()
        End Sub
    
        Private Sub numeroJolly2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles numeroJolly2.TextChanged
    
        End Sub
    
        Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
    
        End Sub
    End Class
Devi accedere o registrarti per scrivere nel forum
2 risposte