vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Column Add DataGridView 
Autor: viperbone
Datum: 19.10.06 21:01

Es sieht so aus. Ich habe eine DB und darin sind Spalten. Jede Spalte entspricht einer Sprache. Ich möchte nun dem Benutzer die Möglichkeit geben, dass er eine weitere Sprache(Spalte) hinzufügen kann.
Das ganze beruht auf einer Access-DB die ich in einem DataGridView anzeigen lasse.

Aus deiner Antwort werde ich nicht so ganz schlau. Verstehe ich das richtig ich muss die neue Spalte in der Access-DB und im DataTable neu anlegen und im DataGridView gar nichts machen?

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Column Add DataGridView 
Autor: viperbone
Datum: 19.10.06 19:35

Hallo zusammen

Wie erreiche ich, dass das was ich im DataGridView sehe in die Datenbank übertragen wird?
Normal geht ja das soweit ich weiss so:
    Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Me.Validate()
        Me.SprBindingSource.EndEdit()
        Me.SprTableAdapter.Update(Me.SprachenDataSet)
    End Sub
Wenn ich aber eine Spalte hinzufüge klappt das nicht mehr.
Me.DataGridView1.Columns.Add("Name" & Me.txtADDCOLUMN.Text, _
  Me.txtADDCOLUMN.Text)
Was muss ich noch machen, dass er die neue Spalte auch übernimmt?

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 19.10.06 20:29

Du musst die DB und die DataTable ändern, die Daten irgendwie in die DataTable einfügen, mit DataBinding geht das nicht (sehr einfach). Usw. Sowas macht man bei üblichen DB-Anwendungen nicht. Was willst du erreichen? Ich stelle mir einen etwas falschen Ansatz vor...

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 19.10.06 21:16

Das ist eben nicht unbedingt der Weisheit letzter Schluss. So funktionieren relationalen Datenbanken nicht. Genau was passend wäre hängt von der Anwendung und den notwendigen Daten ab, aber du kannst z.B. eine einzelne Spalte in einer Tabelle haben, die die Sprache angibt. Dann wenn du Sprachex willst machst du eine Abfrage mit etwa

Select Uebersetzung From MyTable Where Wort = 'Kartoffel' And Sprache = _
  'Serbokroatisch'

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 19.10.06 21:37

Danke für deine Antwort.
Wie ich das verstehe meinst du, dass die benötigten Daten je nach gesuchtem Wort aus der DB geholt werden. Richtig? Das möchte ich eben nicht.
Gerne hätte ich, dass der Benutzer sozusagen die ganze DB im DataGridView sieht. Wenn er dann nach einem Wort sucht sieht er auf einen Blick dieses Wort in allen anderen Sprachen.

In etwa so hab ich mir das vorgestellt:
Bild

Wie im ersten Posting gesagt ist das Problem wie kriege ich das was im DataGridView zu sehen ist wieder in die DB? (Wenn es eine neue Spalte gegeben hat muss diese auch in der DB angelegt werden)
Kurz: Was in DataGridView zusehen ist soll in DB übernommen werden.

Wie kann ich das am einfachsten realisieren?

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 19.10.06 21:38

Bild funktioniert irgendwie nicht
URL zum Bild:
http://viperbone1.vi.funpic.de/Bilder/Verschiedenes/%dcbersetzungshilfe.gif

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorFZelle (Moderator)
Datum: 20.10.06 09:02

Sorry, wenn ich das immer wieder zum besten gebe, aber mit dem Grundsätzlichen
Verständnis von ADO.NET würdest Du diese Frage nicht stellen.

Das DataSet ist eine vollkommen eigenständige Datenstruktur, die ersteinmal nichts
mit einer speziellen Datebank zu tun hat.

Ein DataAdapter ist das Bindeglied zur Datenbank.
Er liest Daten aus der DB und fügt ggf die Spalten in die DataTable im DataSet ein.
Auf dem umgekehrten Weg führt er die jeweiligen Befehle ( Insert/Update/DeleteCommand)
einfach nur aus.
Auch der DataAdapter ist zu dumm, um irgendetwas selbständig zu tun.

Wenn Du also in deinem Grid eine Spalte einfügst, die noch nicht in der DB
vorhanden ist, musst Du diese erst in der Datenbank hinzufügen.
( "Alter Table...", aber das weist Du ja wie es geht )
Danach am besten mit einem neuen DataAdapter und einem neuen CommandBuilder
die Datenbank speichern.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 20.10.06 10:33

Tja, warum eine DB? Dafür brauchst du eher ein Spreadsheet. Wenn du eine neue Spalte in der DB anlegst und alles neu einliest wirst du wie FZelle schreibt alle Spalten im DGV haben, die neue wird leer sein. Wenn du einfach eine Spalte im DGV anlegst fehlt alles in DataTable, DataView, BindingSource usw, und natürlich auch DB:

Du solltest vielleicht bedenken, dass die Darstellung und die abgespeicherten Daten nicht unbedingt die gleiche Form haben. Du kannst DGV mit Code steuern, und die Daten im ganz anderen Format abspeichern, aber das ist wirklich keine echte DB Anwendung, nur ein Blatt mit Spalten und Reihen.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 20.10.06 14:35

Hallo zusammen

@Dave
Ich habe den Auftrag dies mit einer Access-DB zu lösen darum eine DB.

Wenn ich das von euch jetzt richtig verstehe muss ich wenn ich eine Spalte im DGV anlege diese auch zurgleichenzeit im DataSet(DataTable) und in der Access -DB selbt neu
anlegen? Ist das richtig so?

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 20.10.06 14:48

Mit DataBinding ist das nicht so ganz einfach. Du hast dann auch ein DataView (mit DataRowViews) und vielleicht ein BindingSource. Ohne die Binding neu zu setzen werden diese Komponenten nicht Bescheid bekommen, dass du DataTable und DGV geändert hast. Du kannst DGV.AutoGenerateColumns True setzen und DataSource wieder zuweisen, dann hast du die neue Spalte (nachdem DataTable angepasst wurde).

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 20.10.06 14:59

Dann muss das etwa so aussehen?
Me.DataGridView1.AutoGenerateColumns = True
 
        ' Spalte im DataSet hinzufügen
        Me.SprachenDataSet.Tables("spr").Columns.Add(Me.txtADDCOLUMN.Text)
 
        '  DataGridView Source erneuern
        Me.DataGridView1.DataSource = Me.SprBindingSource
Im SprachenDataSet (.xsd Datei) wird aber mit diesem Code die neue spalte nicht angelegt. Wiso nicht?

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 20.10.06 15:08

Versuch's mit etwa

Me.DataGridView1.DataSource = New BindingSource(Me.SprachenDataSet.Tables( _
  "spr"), Nothing)

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 20.10.06 15:23

Danke für deine Antwort. Jetzt bin ich einen Schritt weiter.
Die Spalte in der Access-DB wird angelegt. Das ist OK.
Die Spalte wird im DGV angezeigt. Das ist auch OK.

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
          System.EventArgs) Handles Button1.Click
 
        ' Spalte in Access DB hinzufügen
        Dim cn As System.Data.OleDb.OleDbConnection = New OleDb.OleDbConnection( _
          My.Settings.SprachenVerbindungsText)
        cn.Open()
        Dim com As OleDb.OleDbCommand = New OleDb.OleDbCommand("ALTER TABLE spr" & _
          "ADD " & Me.txtADDCOLUMN.Text & " STRING", cn)
        com.ExecuteNonQuery()
        cn.Close()
 
        ' Spalte im DataTable hinzufügen
        Me.SprachenDataSet.Tables("spr").Columns.Add(Me.txtADDCOLUMN.Text)
 
        ' DataGridView aktuallisieren
        Me.DataGridView1.DataSource = New BindingSource( _
          frmMain.SprachenDataSet.Tables("spr"), Nothing)
 
        End Sub
 
 
 
 
        Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As _
          System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
 
        Me.Validate()
        Me.SprBindingSource.EndEdit()
        Me.SprTableAdapter.Update(Me.SprachenDataSet)
 
        End Sub
Das Problme ist jetzt die Daten in der neuen Spalte werden nicht übernommen?
Fehlt da noch was mit dem TableAdapter?

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 20.10.06 15:32

Das geht wahrscheinlich nicht mit TableAdapter, Typed Dataset und dem ganzen Kramm. Das sind Klassen, die aus dem ursprünglichen Schema von VS IDE generiert wurden, und wissen natürlich nichts von der neuen Spalte. Du musst das alles von Hand machen. Wie gesagt, solche Änderungen kommen bei üblichen DB-Anwendungen nicht vor.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 20.10.06 15:35

Es ist sicher nicht die Regel, dass der Benutzer jeden Tag eine neue Sprache hinzufügt. Er soll einfach die Möglichkeit dazu haben.
Hast du eine Idee wie es doch gehen kann?

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 20.10.06 19:20

Sehe ich das also richtig. Es ist nicht möglich das DataGridView mit der DB synchron zu halten wenn die DB-Struktur verändert wird?

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 20.10.06 20:53

Nein, das stimmt nicht. Am einfachsten wenn du alle Änderungen in die DB zurückschreibst, in der DB die neue Spalte hinzufügst und dann die Daten wieder ausliest, wie von Vorne anfangen, sowas geht.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 21.10.06 07:55

Ok. Dann versuch ich das mal so.

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 21.10.06 08:43

Kannst du mir ein Beispiel geben wie das funktioniert?

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 21.10.06 09:35

So sollte es doch funktionieren oder fehlt noch was?
        Dim con As System.Data.OleDb.OleDbConnection = New _
          OleDb.OleDbConnection(My.Settings.SprachenVerbindungsText)
 
        Try
            con.Open()
            ' Spalte in Access DB hinzufügen
            Dim com As OleDb.OleDbCommand = New OleDb.OleDbCommand("ALTER TABLE" & _
              "spr ADD " & Me.txtADDCOLUMN.Text & " STRING", con)
            com.ExecuteNonQuery()
            con.Close()
 
        Catch ex As Exception
            MessageBox.Show("Die neue Sprache konnte nicht hinzugefügt werden.")
            Me.txtADDCOLUMN.Clear()
            Exit Sub
        End Try
 
 
        Dim command As String = "SELECT * FROM spr"
        Dim dataAdap As New OleDb.OleDbDataAdapter(command, con)
        Dim cmdB As New OleDb.OleDbCommandBuilder(dataAdap)
        Dim ds As New DataSet()
 
        con.Open()
        dataAdap.Fill(ds, "spr")
        con.Close()
 
 
        Me.SprBindingSource.DataSource = New BindingSource(ds.Tables("spr"), _
          Nothing)
        Me.DataGridView1.Refresh()

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 21.10.06 10:02

.open() und .Close() sind eigentlich überflüssig, sonst würde ich das einfach ausprobieren...

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 21.10.06 10:50

Das funktioniert irgendwie noch nicht.
Die Spalten werden zwar in der DB angelegt und im DGV angezeigt. Aber die Änderungen werden immer noch nicht übernommen. Sprich es wird immer noch das "alte" DataSet in die DB geschrieben.
Ich muss irgendwie überprüfen können ob der Benutzer das neue angelegt hat wenn ja dann wird von diesem in die DB geschrieben wenn nein wird vom "alten".

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 22.10.06 17:08

Kannst du oder jemand anders mir zeigen, wie man die Datenbank alles neu einliest?

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 23.10.06 08:41

Mit deinem Code muss wirklich alles aktualisiert werden, weil du ein neues DataSet anlegst. Da kann nichts von vorher übrigbleiben. Stimmt der Code dann so ganz?

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 23.10.06 09:04

Hi Dave

Danke für deine Antwort.
Ich erhalte nun eine Fehlermeldung. Zuerst was ich alles gemacht habe.
Wie im anderen Post beschrieben lege ich eine neue Spalte in der Access-DB an und erzeuge ein neues DataSet. Dies klappt auch gut soweit. Nur wenn ich dann das Programm beende und es neu starte erscheinen wohl die Spalten im DGV aber will ich
dann veränderungen vornehmen und dies speichern erscheint dieser Fehler:
System.InvalidOperationException wurde nicht behandelt.
  Message="Aktualisieren erfordert einen gültigen UpdateCommand, wenn eine" & _
    "DataRow-Auflistung mit modifizierten Zeilen weitergegeben wird."
  Source="System.Data"
  StackTrace:
       bei System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors( _
         RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, _
         Int32 commandCount)
       bei System.Data.Common.DbDataAdapter.UpdatedRowStatus( _
       RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, _
       Int32 commandCount)
       bei System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, _
       DataTableMapping tableMapping)
       bei System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable _
       dataTable, DataTableMapping tableMapping)
       bei System.Data.Common.DbDataAdapter.Update(DataTable dataTable)
       bei _
         Übersetzungshilfe.SprachenDataSetTableAdapters.sprTableAdapter.Update( _
         sprDataTable dataTable) in F:\Dokumente und _
         Einstellungen\....\\SprachenDataSet.Designer.vb:Zeile 743.
Die Zeile 743 ist diese (die in der Mitte):
        Public Overloads Overridable Function Update(ByVal dataTable As _
          SprachenDataSet.sprDataTable) As Integer
            Return Me.Adapter.Update(dataTable)
        End Function
Was soll ich machen?

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 23.10.06 09:19

Komischerweise passt dieser Code nicht zum anderen. Da hast du ein CommandBuilder angelegt, und dein Dataadapter heisst dataAdap und hier heisst as Adapter, und du hast anscheinend kein CommandBuilder. Die Meldung kommt wenn du eben kein CommandBuilder benutzt hast, und die DataAdapter Befehle (Update, Insert, Delete) nicht in anderer Weise angelegt hast.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 23.10.06 09:29

Der Fehler kommt bei dieser Zeile. Im Form-Closing Ereigniss.

        Me.SprTableAdapter.Update(Me.SprachenDataSet.spr)
Irgendwie habe ich da den Überblick verloren. Das Update der neuen hinzugefügten Daten muss ich doch wider mit dem "alten" TableAdapter machen?

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 23.10.06 09:35

Ich habe den Überblick noch nicht gehabt. Vielleicht weil dein Code jedesmal ein wenig anders aussieht. Immerhin, da fehlt ein CommandBuilder, was du im ersten Codebeispiel schon hattest.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 23.10.06 09:45

Ok, dann versuch ich mal ein Überlick zu erstellen.

Das ist die Hauptform
Public Class frmMain
 
 
#Region "frmMain"
 
    Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Me.Validate()
        Me.SprBindingSource.EndEdit()
        Me.SprTableAdapter.Update(Me.SprachenDataSet.spr)
    End Sub
 
    Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        'TODO: Diese Codezeile lädt Daten in die Tabelle "SprachenDataSet.spr". 
        ' Sie können sie bei Bedarf verschieben oder entfernen.
        Me.SprTableAdapter.Fill(Me.SprachenDataSet.spr)
 
        Me.DataGridView1.AutoGenerateColumns = True
    End Sub
 
#End Region
 
#Region "Menu"
 
    Private Sub SpracheHinzufügenlöschenToolStripMenuItem_Click(ByVal sender As _
      System.Object, ByVal e As System.EventArgs) Handles _
      SpracheHinzufügenlöschenToolStripMenuItem.Click
        frmSpr.Show()
    End Sub
 
#End Region
 
End Class
Auf der Hauptform sind ausserdem:
* SprachenDataSet
* SprBindingSource
* SprTableAdapter
* DataGridView1



Das ist die Form zum Sprachen hinzufügen/löschen
Public Class frmSpr
 
#Region "Form"
 
    Private Sub frmSpr_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        ' Combobox füllen
        comboFILL()
    End Sub
 
#End Region
 
#Region "Buttons"
 
 
    Public dt As New SprachenDataSet.sprDataTable
    Public dataAdap As New SprachenDataSetTableAdapters.sprTableAdapter
    Public ds As New DataSet
    Public cmdb As New OleDb.OleDbCommandBuilder
 
    Private Sub btnsprADD_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles btnsprADD.Click
        For i As Integer = 0 To frmMain.DataGridView1.Columns.Count - 1
            If Me.txtADDCOLUMN.Text = frmMain.DataGridView1.Columns( _
              i).HeaderText Then
                MessageBox.Show("Spalte schon vorhanden.")
                Exit For
            End If
        Next
 
 
        Dim con As System.Data.OleDb.OleDbConnection = New _
          OleDb.OleDbConnection(My.Settings.SprachenVerbindungsText)
 
        Try
            con.Open()
            ' Spalte in Access DB hinzufügen
            Dim com As OleDb.OleDbCommand = New OleDb.OleDbCommand("ALTER TABLE" & _
              "spr ADD " & Me.txtADDCOLUMN.Text & " STRING", con)
            com.ExecuteNonQuery()
            con.Close()
 
        Catch ex As Exception
            MessageBox.Show("Die neue Sprache konnte nicht hinzugefügt werden.")
            Me.txtADDCOLUMN.Clear()
            Exit Sub
        End Try
 
 
        Dim command As String = "SELECT * FROM spr"
        Dim dataAdap As New OleDb.OleDbDataAdapter(command, con)
        cmdB = New OleDb.OleDbCommandBuilder(dataAdap)
        Dim ds As New DataSet()
 
        dataAdap.Fill(ds, "spr")
 
        frmMain.SprBindingSource.DataSource = New BindingSource(ds.Tables( _
          "spr"), Nothing)
        frmMain.SprBindingSource.EndEdit()
        dataAdap.Update(ds.Tables("spr"))
 
        frmMain.DataGridView1.Refresh()
 
        Me.txtADDCOLUMN.Clear()
    End Sub
 
#End Region
 
 
 
End Class

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 23.10.06 10:00

Ich denke das wird nicht so gut klappen. Wie ich schon gesagt habe, ein TableAdapter ist eine generierte Klasse. Du müsstest dein Programm neu umwandeln mit der neuen Spalte um den Code zu aktuellisieren.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 23.10.06 11:41

Ich werde das mal vorbringen, dass es mit einer Access-DB schlecht zu realisieren ist.
Ich denke ich kann die Daten bestimmt auch in einer Excel-Tabelle speichern mal schauen.
Auf jeden Fall vielen Dank für deine Hilfestellungen!

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 23.10.06 12:24

Deine zweite Routine liest doch alles, nur die mit TableAdapter bringt nichts.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 23.10.06 18:39

Hmm... ich weiss jetzt nicht genau was du meinst. Welche zweite Routine?

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 23.10.06 18:51

Irgendwann habe ich gesagt, dass geht nicht mit TableAdapter. Dann hast du Code gepostet wo du alles ohne TableAdapter (wieder) einliest. Dieser Code klappt ob "wieder" oder zum ersten Mal. Also, du musst das nur "von Hand" (d.h. ohne den TableAdapter Code) machen, dann sollte es auch gehen.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: ModeratorDaveS (Moderator)
Datum: 23.10.06 18:52

Eigentlich gehört das alles im Ado.Net Forum...

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Column Add DataGridView 
Autor: viperbone
Datum: 23.10.06 21:04

Ja ich weiss. Ich dachte zuerst es wäre ein Problem des DGV.

Ich bin mir nicht sicher, habe ich wirklich ein Code ohne TableAdapter gepostet?
Ich habe gedacht nicht. Naja, ich schau mal.

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel