Aiuto trasporto dati database textbox

di il
5 risposte

Aiuto trasporto dati database textbox

Salve a tutti.... Chiedo un aiuto in quanto mi ritrovo a un punto morto sul mio programmino di gestione dati.Vi spiego brevemente l'idea e il problema: l'idea del software è quella di generare un programma di gestione dati personali e archiviazione in un database e fino a qui tutto ok, il problema sorge nel riportare questi dati dal db a relative textbox o label che siano.
Imports MySql.Data.MySqlClient
Public Class Apri

   

    Dim id, nome, cognome As New Label

    Public Sub Apri_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown

        Dim serverstring As String = "Server=localhost;User=root;Password=;"
        Dim sqlconnection As MySqlConnection = New MySqlConnection
        sqlconnection.ConnectionString = serverstring

        ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        Try
            If sqlconnection.State = ConnectionState.Closed Then
                sqlconnection.Open()

            Else
                sqlconnection.Close()


            End If
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try

        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        Dim cmdusa As MySqlCommand = New MySqlCommand
        Dim usa As String = "use Programma"

        With cmdusa
            .CommandText = usa
            .CommandType = CommandType.Text
            .Connection = sqlconnection
            .ExecuteNonQuery()
        End With
        sqlconnection.Close()
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''



        Dim a As Integer = 0


        Dim cmd As MySqlCommand = New MySqlCommand


        sqlconnection.Open()




        cmd.CommandText = "SELECT id,Nome, Cognome FROM prova"
        cmd.CommandType = CommandType.Text
        cmd.Connection = sqlconnection
        cmd.ExecuteNonQuery()

        Dim Dr As MySqlDataReader = cmd.ExecuteReader

        While (Dr.Read())
            Dim id, nome, cognome As New Label
            a = a + 20
            id.Location = New Point(10, a)
            id.AutoSize = True
            id.BorderStyle = BorderStyle.Fixed3D
            nome.Location = New Point(40, a)
            nome.AutoSize = True
            cognome.Location = New Point(120, a)
            cognome.AutoSize = True
            Me.Controls.Add(id)
            Me.Controls.Add(nome)
            Me.Controls.Add(cognome)
            id.Text = Dr(0)
            nome.Text = Dr(1)
            cognome.Text = Dr(2)


            AddHandler nome.Click , AddressOf nomeclic_Click
            AddHandler cognome.Click, AddressOf nomeclic_Click

        End While

    End Sub

 Public Sub nomeclic_Click(ByVal nome As System.Object, ByVal e As System.EventArgs)

Questa parte funziona, però ora non so come fare una volta premuto sul nome a riportare tutte le informazioni in una textbox. Non trovo la soluzione esatta per andare avanti...Vi prego aiutatemi. Gracias chicos

5 Risposte

  • Re: Aiuto trasporto dati database textbox

    Ciao,
    ho qualche dubbio su dv ti stai bloccando, xkè mi pare che quando fai
    cognome.Text = Dr(2)
    l associazione sia corretta..cosa ti manca?!
  • Re: Aiuto trasporto dati database textbox

    Il problema è che non so come riportare tutti i campi (nome, cognome e id) nelle textbox. Ossia riesco a riportarne solo uno alla volta mettendo
    Private Sub nomeclic_Click(ByVal nome As System.Object, ByVal e As System.EventArgs)
       
            TextBox1.Text = nome.text
            TextBox2.Text = cognome.Text
    
        End Sub

    ma non tutti insieme. Con questo codice se premo su per esempio su il nome "DIEGO" mi mette diego nella textbox1 e la textbox2 rimane vuota,invece se premo sul cognome "ROSSI" mi mette rossi nella textbox 1 e la 2 sempre vuota.
    Grazie per la risposta comunque.
  • Re: Aiuto trasporto dati database textbox

    Ahnnnnnnn!!
    bè sono oggetti singoli e slegati tra di loro...
    potresti metterli in un array o una lista di oggetti generici o magari raggruppatti x gruppo(ad esempio un array di textbox, uno di label, textbox nome+cognome, ecc...).

    per esempio:
    
    textbox[] list_textbox1=new textbox[10];
    //definisci qli textbox inserire
    textbox[0]=textbo1;
    ...
    ...
    
    //in base ai pulsanti definiti scorri l array corrispondente
    foreac(textbox tmp in list_textbox1 )
    {
        tmp.Text = nome.text;
    }
    
    oppure con un array generico object dovresti fare il cast x riconoscere il tipo...vedi un po te csa ti conviene!
  • Re: Aiuto trasporto dati database textbox

    Se le vuoi mettere tutti in una TexyBox puoi fare:

    Nome.text= Nome.text + " " + DR(2)

    cosi quando arriva alla casella non inserisce il nuovo valore sovrascrivendo il vecchio ma aggiunge il contenuto alla casella di testo.

    Prova cosi e vedi se è quello che cercavi.
  • Re: Aiuto trasporto dati database textbox

    Grazie mille ad entrambi
Devi accedere o registrarti per scrivere nel forum
5 risposte