vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 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
Probleme mit dataadapter selectcommand 
Autor: madmax81
Datum: 17.02.07 19:30

Hallo,

ich möchte bei einer select Anweisung eines DataAdapters Parameter verwenden. Jedoch bekomme ich bei der Ausführung meines Programmes immer folgende Fehlermeldung: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt

Ich habe eine Klasse für meine Datenbankzugriffe gebastelt. Hier der Codeausschnitt mit der Selectabfrage:
Imports Microsoft.VisualBasic
Imports System.Data.SqlClient
 
 
 
Public Class DatabaseFunctions
    Dim dbReadAdapter As New SqlDataAdapter
    Dim dbconn As New SqlConnection()
    Public Function Read(ByVal dbReadSqlString As String, ByVal dbReadTable As _
      String)
        Dim dbReadSql As String = dbReadSqlString
        Dim dbReadAdapter As New SqlDataAdapter(dbReadSql, dbconn)
        Dim dbReadBuilder As New SqlCommandBuilder(dbReadAdapter)
        Dim dbReadData As New DataSet()
 
        dbReadData.Clear()
        dbReadAdapter.Fill(dbReadData, dbReadTable)
        Return dbReadData.Copy
 
    End Function
 
    Public Sub ReadParamAdd(ByVal dbReadParamName As String, ByVal _
      DbReadParamValue As Object)
        dbReadAdapter.SelectCommand.Parameters.AddWithValue(dbReadParamName, _
        DbReadParamValue)
    End Sub
    Public Sub ReadParamClear()
        dbReadAdapter.SelectCommand.Parameters.Clear()
    End Sub
End Class
Hier der Code, der die Klasse aufruft:
 Private Sub ArbeitszeitBuchen_Load(ByVal sender As System.Object, ByVal e As _
   System.EventArgs) Handles MyBase.Load
        Dim ÜbersichtData, KundenData As New DataSet
        Dim row As DataRow
        Dim counter As Integer = 0
        Dim item As String
        Dim BenutzerID As String
        Dim Datum As String
 
        Try
            With ArbeitszeitBuchenGrid
                .RowsDefaultCellStyle.BackColor = Color.MistyRose
                .AlternatingRowsDefaultCellStyle.BackColor = Color.Ivory
                .RowHeadersVisible = False
                .ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Raised
                .RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.Sunken
                .ColumnHeadersDefaultCellStyle.BackColor = Color.IndianRed
            End With
 
            AnmerkungTxt.BackColor = Color.Ivory
 
 
            Datum = ArbeitszeitBuchenDate.Value.ToShortDateString
            BenutzerID = Login.BenID
            AußendienstChk.Checked = True
            VerrechnungJaChk.Checked = True
 
 
            ' Arbeitszeitbuchen Datagrid füllen
            db.ReadParamClear()
            db.ReadParamAdd("@Datum", Datum)
            db.ReadParamAdd("BenutzerID", BenutzerID)
            db.Open()
            'ÜbersichtData = db.Read("select" & _
              "BenutzerID,KundenID,KundenName,Datum, convert(" & _
              "nvarchar,Start,108) as Start, convert(nvarchar,Ende,108) as" & _
              "Ende, convert(nvarchar,Dauer,108) as Dauer," & _
              "Arbeitsort,Verrechnung, Anmerkung from Arbeitszeit where" & _
              "BenutzerID = '" + BenutzerID + "'and Datum ='" + Datum + "'" & _
              "order by Datum desc, Start asc", "Arbeitszeit")
            ÜbersichtData = db.Read("select" & _
            "BenutzerID,KundenID,KundenName,Datum, convert(nvarchar,Start,108)" & _
            "as Start, convert(nvarchar,Ende,108) as Ende, convert(" & _
            "nvarchar,Dauer,108) as Dauer, Arbeitsort,Verrechnung, Anmerkung" & _
            "from Arbeitszeit where BenutzerID = @BenutzerID and Datum =@Datum" & _
            "order by Datum desc, Start asc", "Arbeitszeit")
 
            db.Close()
            ArbeitszeitBuchenGrid.DataSource = ÜbersichtData.Tables( _
              "Arbeitszeit").DefaultView
 
 
 
            'Spalten ausblenden
            ArbeitszeitBuchenGrid.Columns("Anmerkung").Visible = False
            ArbeitszeitBuchenGrid.Columns("BenutzerID").Visible = False
            ArbeitszeitBuchenGrid.Columns("KundenID").Visible = False
 
            db.Open()
            KundenData = db.Read("select Name from Kunden", "Kunden")
            db.Close()
 
 
 
            'Arbeitszeitbuchen Combobox füllen
            For Each row In KundenData.Tables("Kunden").Rows
                item = KundenData.Tables("Kunden").Rows(counter).Item("Name")
                KundenCombo.Items.Add(item)
                counter += 1
            Next
 
 
 
            'Leeres Dataset abfangen
            If ÜbersichtData.Tables("Arbeitszeit").Rows.Count = 0 Then
                DatensatzUpdateBtn.Enabled = False
                Exit Sub
            Else
                'Anmerkung im Anmerkung Textfeld anzeigen
                ArbeitszeitBuchenGrid.Rows(0).Selected = True
                AnmerkungTxt.Text = ArbeitszeitBuchenGrid.SelectedRows.Item( _
                  0).Cells("Anmerkung").Value()
            End If
 
 
        Catch f As Exception
            MsgBox(f.Message, MsgBoxStyle.Critical, "Fehler")
            Exit Sub
        End Try
    End Sub
Ich probiere jetzt schon Stundenlang den Fehler zu finden, schaffe es aber nicht. Ich hoffe, dass Ihr mir weiterhelfen könnt.

Mfg,
madmax
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Probleme mit dataadapter selectcommand1.257madmax8117.02.07 19:30
Re: Probleme mit dataadapter selectcommand717madmax8118.02.07 20:37
Re: Probleme mit dataadapter selectcommand674AcerPower23.02.08 14:28

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