Announcement

Collapse
No announcement yet.

MySQL Eintrag in Textbox

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MySQL Eintrag in Textbox

    Vielleicht kann mir hier jemand weiterhelfen, ich stecke gerade etwas fest. Warscheinlich eine Denkblockade...

    ...ich habe eine möchte gern einzelne Einträge aus einer MySQL-Datenbank in verschieden Textboxen (nicht DataGrid) wiedergeben.

    hier mein Codeschnipsel...

    Option Explicit On
    Imports MySql.Data.MySqlClient
    Imports System.data

    Public Class Hauptmenu
    Public conn As MySqlConnection
    Public myCommand As New MySqlCommand
    Public myAdapter As New MySqlDataAdapter
    Public myData As New DataTable

    Public UserName, myConnString, Fehlerstring, SQL As String


    soweit die benötigten Deklarationen.

    nun folgt die Verbindung zu DB.

    conn.ConnectionString = "server=localhost;" _
    & "user id=" & Me.TextBox1.Text & ";" _
    & "password=" & Me.TextBox2.Text & ";" _
    & "database=test_db"

    myConnString = conn.ConnectionString
    Try
    conn.Open()
    'SQL = "SELECT * FROM datentabelle"
    myCommand.Connection = conn
    myCommand.CommandText = SQL
    myAdapter.SelectCommand = myCommand
    myAdapter.Fill(myData)
    Me.DataGridView1.DataSource = myData
    Me.DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells

    Catch myerror As MySqlException
    MsgBox( "Fehler beim Verbinden zur Datenbank: " & myerror.Message)
    Finally
    conn.Dispose()
    conn.Close()
    End Try



    Damit lege ich den kompletten Inhalt der DB in ein DataGrid. Aber wie kann ich einzelne Einträge einer Variablen (String) übergeben, um diese später zu bearbeiten oder anzuzeigen?
    Zuletzt editiert von nOOLz; 11.07.2007, 13:45.
    Man muss schon eine ganze Menge wissen, um zu erkennen dass man nichts weiss.

  • #2
    Ist es denn wirklich so schwierig, dass niemand mir antworten kann? Ich wollte ja keine komplette Lösung, vielleicht hätte ein Denkanstoß mich schon weitergebracht.

    Schade...
    Man muss schon eine ganze Menge wissen, um zu erkennen dass man nichts weiss.

    Comment


    • #3
      Hallo,

      so kommt man als Neuling zu seinem ersten Beitrag. ich habe das gerade mit Visual Basic Express Edition und MySQL exerziert.

      Du benötigst zuerst einmal eine BindingSource.

      Also ...

      dim db as new BindingSource

      db.DataSource=mydata


      Jetzt kann man sogar einen Navigator einsetzen, um z.B. die Datensätze durchzublätterm.

      Mit ....

      navigator.BindingSource=db

      ...sorgt man für die entsprechende Verbindung.

      Für Textfelder erstellt man die Verbindung mit....

      tx_vorname.DataBindings.Add (New Binding("Text", db, "vorname", True)

      tx_vorname bezeichnet das Textfeld, "vorname" bezeichnet den Feldnamen in der Datenbanktabelle.


      ich hoffe, das hilft und war verständlich.

      Comment


      • #4
        Ich bedanke mich erstmal für deine Hilfe, allerdings stellt sich mir noch ein winziges Problem entgegen, welches noch gelöst werden muss.

        TEXTFELD.DataBindinds.Add(New Binding("Text", db, "vorname" , true))

        bringt mir einen unengenehmen Ausnahmefehler und sagt er könne nicht an "vorname" binden...

        ...was hab ich übersehen?

        (Der Navigator funktioniert soweit, dass ich die korrekte Anzahl der Datensätze sehen kann und daran navigieren kann. Nur die Anzeige über die Textboxen ist nach wie vor unklar.)

        "An die Eigenschaft oder Spalte vorname für die DataSource kann nicht gebunden werden.
        Parametername: dataMember"
        - Original Fehlermeldung
        Zuletzt editiert von nOOLz; 12.07.2007, 14:43.
        Man muss schon eine ganze Menge wissen, um zu erkennen dass man nichts weiss.

        Comment


        • #5
          Heureka!

          Ein selten dämlicher Schreibfehler meinerseits bei der Bezeichnung der Spalte in der DB war der Fehler.

          Man beachte Vroname ist nicht Vorname

          Vielen Dank für deine Hilfe...!
          Man muss schon eine ganze Menge wissen, um zu erkennen dass man nichts weiss.

          Comment

          Working...
          X