Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 26 su 26
  1. #21
    Originariamente inviato da ciro78
    scusa la mia ignoranza ma non è che il codice mi sia molto chiaro allora

    codice:
    /* definisci la connessione
     Dim conn As New MyVbQL.MYSQL_CONNECTION
    
    /* la setti 
     Set conn = New MyVbQL.MYSQL_CONNECTION
        
    /*questo non ho idea di che cosa sia
    Dim RS As MyVbQL.MYSQL_RS
    
    /*stesso discorso
        Dim ris As MyVbQL.MYSQL_CONNECTION_STATE
    
    /* capisco che imposti i parametri del databse ma essendo collegati 
    /* a quelli di prima    
        ris = conn.OpenConnection("localhost", "root", "", "videoteca")
    
    
        If ris = MY_CONN_CLOSED Then
            MsgBox "Errore durante la connessione!" & conn.Error
        End If
        
        Set RS = conn.Execute("SELECT * FROM film")
    /* che è rssel ? e se volessi impostare un datagrid?    
    
        For rssel = 0 To RS.RecordCount - 1
           MsgBox "Riga: " & rssel + 1 & " - User: " & RS.Fields("user").Value & ", Host: " & RS.Fields("host").Value
            RS.MoveNext
    
        Next
        
        conn.CloseConnection
       /* l'arabo non mi piace a che servono 
        Set RS = Nothing
        Set conn = Nothing
    End Sub
    come vedi ho commentato quello ke non mi è chiaro.....
    inoltre creo un nuovo progetto per fare i miei form?
    per il pvt:
    per usare la libreria la devi aggiungere tra i riferimenti...
    vai su:
    Progetto -> Riferimenti -> Sfoglia
    e da li vai a cercare la libreria che hai compilato prima


    Questo dichiara un nuovo record set...ovvero un'insieme di risultato
    codice:
    Dim RS As MyVbQL.MYSQL_RS
    MYSQL_CONNECTION_STATE è un ENUM...con 2 opzioni...queste due opzioni definiscono il risultato della connessione...riuscito o non riuscito
    codice:
    Dim ris As MyVbQL.MYSQL_CONNECTION_STATE
    Il recordset contiene i risultati
    la propietà recordcount conta il numero di risultati...ma proprio xche li conta parte da 1 fino al numero definito di risultati...il ciclo in realtà non aveva bisogno di essere da zero a recordcount - 1 ma per questione di abitudine faccio partire i cicli sempre da zero
    RS contiene tutti i risultati...ma ovviamente sono presenti uno alla volta...quindi c'è necessità di spostarsi avanti nella lista dei risultati e andando analizzando, uno ad uno i vari risultati
    RSSEL non è altro che la variabile del ciclo...l'ho chiamata cosi ad indicare RecordSet SELezionato
    codice:
    For rssel = 0 To RS.RecordCount - 1
    Queste due dichiarazioni non fanno altro che scaricare dalla memoria gli oggetti creati in precedenza, io preferisco eliminare dalla memoria tuttò ciò che non serve più...e siccome il tutto era stato fatto ho eliminato gli oggetti
    codice:
        Set RS = Nothing
        Set conn = Nothing
    PS: un consiglio...quando scriverai il programma...non fare apri e chiudi con la connessione...bensì aprila all'inizio e chiudila alla fine
    L'oggetto della connessione lo puoi tranquillamente dichiarare nel form principale o magari in un modulo e poi lo inizializzi nel form load oppure nella Sub Main

    non puoi usare un controllo datagrid usando queste classi (librerie) devi usare odbc per usare datagrid ma te lo sconsiglio pesantemente

    a questo punto...siccome devi studiacchiare un po di cose per fare il programma...se hai fretta usa odbc ma se non ne hai...impara a fare cose nuove xche possono sempre servire

    per "crearti" un datagrid ti basta inserire una tabella (ad es FlexGrid (di standard con VB6) e la riempi quando fai il ciclo, in questo modo poi lavori abbastanza normalmente, principalmente cambia il modo nel quale gestisci i dati

    cmq in generale quando puoi sperimenta sempre nuovi sistemi perché:
    1° Sai fare più cose
    2° Ti trovi a risolvere problemi nuovi e quindi aumenta la tua esperienza
    3° Quando ti trovi in situazioni simili saprai giù muoverti un po

    poniti come obbiettivo che ci devi riuscire e ci riuscirai

    se hai dubbi o problemi io sono qui...cmq...prima di chiamare me fai delle prove e studiati il controllo...del resto hai il codice sorgente e puoi guardare comodamente tutti i metodi e propietà che hanno nomi inerenti a cosa fanno

    ciauz

  2. #22
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    ok domani mattina ci lavoro un po e ti faccio sapere ciao e grazie
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #23
    ciao,
    io ho un problema a connettermi da vb.net a mysql,
    nn riesco a scaricare il driver dal si che indicate, perche è inrangiungibile,
    me lo potreste allegare?
    Grazie

  4. #24
    neanke a me apre i collegamenti, potrei avere in allegato i componenti please?

  5. #25
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Ciao daniele posto qui magari può essere utile a qualcuno

    codice:
    Dim con1 As ADODB.Connection
    Dim record As ADODB.Recordset
    
    
    Private Sub Form_Load()
        Set con1 = New ADODB.Connection
        con1.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & App.Path & "\cronologia.mdb"
        Set record = New ADODB.Recordset
        query = "SELECT * from tabella"
        
        
        Dim conn As New MyVbQL.MYSQL_CONNECTION
        Set conn = New MyVbQL.MYSQL_CONNECTION
        
        Dim RS As MyVbQL.MYSQL_RS
        
        Dim ris As MyVbQL.MYSQL_CONNECTION_STATE
        
        
        
        ris = conn.OpenConnection("localhost", "ciromarotta", "ciromarotta", "cronologia")
        If ris = MY_CONN_CLOSED Then
            MsgBox "Errore durante la connessione!" & conn.Error
        End If
        
        '------------
    
        record.Open query, con1
         Do Until record.EOF
         a1 = record.Fields(0).Value
         a2 = record.Fields(1).Value
         a3 = record.Fields(2).Value
         a4 = record.Fields(3).Value
         a1 = Replace(a1, "'", "''")
         a2 = Replace(a2, "'", "''")
         a3 = Replace(a3, "'", "''")
         a4 = Replace(a4, "'", "''")
         query2 = "INSERT INTO completa (Lista,Titolo,Numero,Anno) VALUES('"  & a1 & "','" & a2 & "','" & a3 & "','"& a4 &"' "
         conn.Execute (query2)    
        record.MoveNext
        Loop
        Set RS = Nothing
        Set conn = Nothing
        conn.CloseConnection
    End Sub
    Il seguente codice dovrebbe prendere i dati dal database cronologia.mdb e portarli nel database cronologia tabella completa di tipo my sql.

    Il mio problema è che la riga in nero non viene eseguita.Per essere + precisi viene eseguita ma non accade niente.

    Avevo pensato che poteva dipendere dal modo diverso di interpretare le date (access usa la forma gg/mm/aaaa invece sql il contrario)

    ma non credo dipenda da questo.Da cosa può dipendere?
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  6. #26
    Ciao ciro
    Il problema potrebbe essere che tu non hai definito la variabile di connessione con1 con la query2 in nero "conn.execute...". prova a mettere con1.Execute Forse potrebbe essere quello il problema. Non son sicuro ma prova.
    Approfitto di sto 3ad
    Ragazzi io invece al posto di prelevare campi dal db sto facendo un piccolo programma per inserire contenuti da un form VB a un db MySQL su server apache. Le variabili ad esempio del campo titolo,contenuto del form di che tipo le dichiaro?
    Ex:

    Dim TITOLO As String*50
    Dim CONTENT As String*1000
    Dim DAT As DATA

    Oppure di che tipo le dichiaro essendo dati che vanno su determinati tipi campi di SQL?
    Grazie ciauz

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.