Hallo,
ich sitze schon seit mehreren Tagen an folgendem Problem: Im SQL bekomme ich über das Server Management Studio das richtige Ergebnis: 4. Führe ich das Programm aus, bekomme ich kein Ergebnis. Ich finde den Fehler aber nicht. Wäre nett, wenn mir jemand auf die Sprünge helfen könnte. Hier der Code:
Hier die verwendeten Funktionen:
Hier noch die SQL-Tabelle der DB:
intEinstellungenID int NotNull
intFirmaID int NotNull
strScanFeld nchar(250) NotNull
strBuchungstagInterv nchar(100) NotNull
strPassAnzeige nchar(10) NotNull
strInfoAnzeige nchar(10) NotNull
Werte:
intEinstellungenID = 1
intFirmaID = 1
strScanFeld = Personal-Nr.
strBuchungstagInterv = 4
strPassAnzeige = 30
strInfoAnzeige = 30
Beim Debugging habe ich natürlich den intFirmaID überprüft. Ist 1, also OK.
Danke für die Hilfe und schönen Abend!
René
ich sitze schon seit mehreren Tagen an folgendem Problem: Im SQL bekomme ich über das Server Management Studio das richtige Ergebnis: 4. Führe ich das Programm aus, bekomme ich kein Ergebnis. Ich finde den Fehler aber nicht. Wäre nett, wenn mir jemand auf die Sprünge helfen könnte. Hier der Code:
Visual Basic-Quellcode
- Dim dsErgebnis As DataSet = New DataSet
- clSql.sqlCmd.CommandText = "SELECT RTRIM(strBuchungstagInterv) AS Intervall " & _
- "FROM Einstellungen " & _
- "WHERE intFirmaID = @Firma "
- clSql.sqlCmd.Parameters.Add(New SqlClient.SqlParameter("@Firma", intFirmaID))
- clSql.sqlDataAdapter.TableMappings.Clear()
- clSql.mapping = clSql.sqlDataAdapter.TableMappings.Add("Table", "Einstellungen")
- clSql.mapping.ColumnMappings.Add("Intervall", "Intervall")
- dsErgebnis = clSql.SqlDatenbank("Select", "Einstellungen")
- clSql.sqlCmd.Parameters.Clear()
- Dim lngIntervall As Long
- Dim strIntervall As String = dsErgebnis.Tables("Einstellungen").Rows(0)("Intervall").ToString.Trim
Hier die verwendeten Funktionen:
Visual Basic-Quellcode
- Imports System.Data.SqlClient
- Public Class classDatenbanken
- '---------------------------------------------------------------------------------
- 'SQL Datenbank
- '---------------------------------------------------------------------------------
- Dim clStandardFunktionen As New classStandardfunktionen
- Public sqldsErgebnis As New DataSet("Ergebnis")
- Public mapping As Common.DataTableMapping = New Common.DataTableMapping
- Public sqldtErgebnis As New DataTable
- Public sqlCmd As SqlClient.SqlCommand = New SqlClient.SqlCommand()
- Public sqlDataAdapter As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter
- Public sqlds As New DataSet
- Function SqlDatenbank(ByVal strAbfrageart As String, ByVal strTabellenname As String) As DataSet
- mapping = Nothing
- Dim sqlCon As SqlClient.SqlConnection = SqlVerbindung()
- Try
- System.Threading.Thread.Sleep(100)
- sqlCmd.Connection = sqlCon
- Select Case strAbfrageart
- Case "Select"
- sqlDataAdapter.SelectCommand = sqlCmd
- sqlDataAdapter.FillSchema(sqldsErgebnis, SchemaType.Source, strTabellenname)
- sqlDataAdapter.Fill(sqldsErgebnis)
- Case "Update"
- Dim sqlcbCommandBuilder As SqlClient.SqlCommandBuilder = New SqlClient.SqlCommandBuilder
- sqlcbCommandBuilder.DataAdapter = sqlDataAdapter
- sqlDataAdapter.Update(sqlds)
- sqlds.Clear()
- sqlDataAdapter.Fill(sqldsErgebnis)
- Case "NonQuery"
- sqlCmd.ExecuteNonQuery()
- End Select
- Catch ex As Exception
- clStandardFunktionen.Fehler(ex.Message)
- Finally
- If (sqlCon.State And ConnectionState.Open) > 0 Then sqlCon.Close()
- End Try
- Return sqldsErgebnis
- End Function
- Function SqlVerbindung() As SqlClient.SqlConnection
- Dim conSqlConnection As SqlClient.SqlConnection = New SqlClient.SqlConnection
- Dim cbSql As SqlClient.SqlConnectionStringBuilder = New SqlClient.SqlConnectionStringBuilder()
- Try
- cbSql.DataSource = My.Settings.strSqlServer
- cbSql.InitialCatalog = My.Settings.strSqlDatenbank
- cbSql.UserID = My.Settings.strSqlUser
- cbSql.Password = My.Settings.strSqlPasswort
- conSqlConnection = New SqlClient.SqlConnection(cbSql.ConnectionString)
- conSqlConnection.Open()
- Catch ex As Exception
- clStandardFunktionen.Fehler(ex.Message)
- End Try
- Return conSqlConnection
- End Function
- End Class
Visual Basic-Quellcode
- Imports System.Net.Mail
- Imports System.Net
- Imports System.Drawing
- Public Class classStandardfunktionen
- 'Form an Panel binden
- Sub PanelInhaltNeu(ByVal plÄndern As Panel, ByVal frmAnzeigen As Form)
- plÄndern.Controls.Clear()
- frmAnzeigen.TopLevel = False
- frmAnzeigen.Visible = True
- plÄndern.Controls.Add(frmAnzeigen)
- frmAnzeigen.Enabled = True
- frmMain.plMain.Enabled = True
- End Sub
- 'Fehler anzeigen
- Sub Fehler(ByRef strText As String)
- MsgBox("Es ist ein Fehler aufgetreten: " & strText, MsgBoxStyle.Critical, "Fehler")
- End Sub
- End Class
Hier noch die SQL-Tabelle der DB:
intEinstellungenID int NotNull
intFirmaID int NotNull
strScanFeld nchar(250) NotNull
strBuchungstagInterv nchar(100) NotNull
strPassAnzeige nchar(10) NotNull
strInfoAnzeige nchar(10) NotNull
Werte:
intEinstellungenID = 1
intFirmaID = 1
strScanFeld = Personal-Nr.
strBuchungstagInterv = 4
strPassAnzeige = 30
strInfoAnzeige = 30
Beim Debugging habe ich natürlich den intFirmaID überprüft. Ist 1, also OK.
Danke für die Hilfe und schönen Abend!
René