vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

ADO.NET / Datenbanken
"Für mindestens einen erforderlichen Parameter wurde kein Wert angegeben" 
Autor: KCH
Datum: 05.12.06 17:33

Hallo.
Ich habe mir ein kleines Programm geschrieben, dass einen Access Datensatz lädt. Man kann die Werte dann in einem DataGrid anschauen, und mit Hilfe von ein paar Button durchscrollen, sowie die Werte in Text Boxen verändern und abspeichern. Hat auch alles wunderbar geklappt. Hier der Code:
    Private Sub save()
        Dim strConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" _
          & _
                "Data Source=D:\Eigene Dateien\Access Datenbanken\Galileo.mdb"
        Dim connection As OleDb.OleDbConnection = New OleDb.OleDbConnection( _
          strConnectionString)
        connection.Open()
        Dim dataAdapter = New OleDb.OleDbDataAdapter("SELECT * FROM t_Kunden", _
          connection)
        Dim commandBuilder As New OleDb.OleDbCommandBuilder(dataAdapter)
        Try
            dataAdapter.Update(dataSet, "t_Kunden")
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Fehler", _
            MessageBoxButtons.OK, _
            MessageBoxIcon.Error)
        End Try
        connection.Close()
End Sub
So jetzt hab ich mir gedacht ich generalisier das etwas und zwar wie folgt:
Es gibt ein main form in dem die Datenbank angezeigt wird, dann kann man auf einen kleinen Button 'Edit' klicken und man erhält ein neues Form, indem der aktuell ausgewählte Datensatz angezeigt wird. DataView ist in beiden Forms global als Public gespeichert, DataSet im ersten ebenfalls - damit die beiden wieder übergeben werden können, also wenn ich das edit fenster öffne, dann
frmEditCustomers = new frmEditCustomers
frmEditCustomers.dataViewCustomers = Me.dataViewCustomers
frmEditCustomers.Visible = True
Eben dieses Edit Fenster besitzt auch einen speicher button, der wie folgt aufgerufen wird:
    Private Sub butSave_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles butSave.Click
Call clsDataBase.save(frmMain.strDatabase, frmMain.dataSetCustomers, _
        "t_Customers")
End Sub
Das frmMain.dataSetCustomers verändert sich offensichtlich übrigens mit, wenn ich etwas ändere, deswegen wars auch nicht nötig das nochmal im frmEditCustomers zu definieren

Die clsDataBase.save sieht so aus:
Public Sub save(ByVal strDatabase As String, _
            ByVal dataSet As DataSet, _
            ByVal strTable As String)
        Dim strConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" _
          & _
            "Data Source=" & strDatabase
        Dim connection As OleDb.OleDbConnection = _
            New OleDb.OleDbConnection(strConnectionString)
        connection.Open()
        Dim dataAdapter = _
            New OleDb.OleDbDataAdapter("SELECT * FROM " & strTable, connection)
        Dim commandBuilder As New OleDb.OleDbCommandBuilder(dataAdapter)
        Try
            dataAdapter.Update(dataSet, strTable)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Fehler", _
            MessageBoxButtons.OK, _
            MessageBoxIcon.Error)
        End Try
        connection.Close()
    End Sub
Also im Prinzip genau so wie die Methode die ich in dem anderen Programm benutzt habe(siehe oben) nur dass eben gewisse Werte mit übergeben werden.
Und jedes mal wenn ich diese Methode aufrufe bekomme ich den fehler "Für mindestens einen erforderlichen Parameter wurde kein Wert angegeben"
und gezeigt wird auf die Zeile
 dataAdapter.Update(dataSet, strTable)
Die open Methode, die fast genauso ausschaut (nur dass da dataset und dataview als ref übergeben werden und die keinen update sonder eben einen fill command hat) funktioniert tadellos!

Weiß jemand wo das Problem ist?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
"Für mindestens einen erforderlichen Parameter wurde ke...6.063KCH05.12.06 17:33
Re: "Für mindestens einen erforderlichen Parameter wurd...4.364ModeratorFZelle05.12.06 18:54
Re: "Für mindestens einen erforderlichen Parameter wurd...3.182KCH05.12.06 19:05
Re: "Für mindestens einen erforderlichen Parameter wurd...3.187ModeratorFZelle05.12.06 21:14
Re: "Für mindestens einen erforderlichen Parameter wurd...3.035KCH06.12.06 01:43
Re: "Für mindestens einen erforderlichen Parameter wurd...3.063ModeratorFZelle06.12.06 09:40
Re: "Für mindestens einen erforderlichen Parameter wurd...3.116KCH07.12.06 01:15
Re: "Für mindestens einen erforderlichen Parameter wurd...3.298ModeratorFZelle07.12.06 10:19

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-2025 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