Imports Oracle.ManagedDataAccess.Client Public Class frmSQLSuggestion Dim isinsert As Boolean = False Private Sub btnVorschlag_Click(sender As Object, e As EventArgs) Handles btnVorschlag.Click TestSQL(cmbConnection.SelectedValue, SQL_ERGEBNISTextBox.Text) End Sub Private Sub TestSQL(conid As Integer, sql_Vorschlag As String) Try Dim connectionString As String Dim i As Integer connectionString = ClassFormFunctions.GetConnectionString(conid) If connectionString <> "" Then If connectionString.Contains("Initial Catalog=") Then 'Dim DT As DataTable = ClassDatabase.Return_Datatable(sql_Vorschlag) 'If DT Is Nothing = False Then ' Dim y As Integer = 0 ' For Each row As DataRow In DT.Rows ' For Each item In row.ItemArray ' Console.WriteLine(item) ' Next ' Next 'End If Dim sqlCnn As SqlClient.SqlConnection Dim sqlCmd As SqlClient.SqlCommand Dim adapter As New SqlClient.SqlDataAdapter Dim NewDataset As New DataSet sqlCnn = New SqlClient.SqlConnection(connectionString) sqlCnn.Open() sqlCmd = New SqlClient.SqlCommand(sql_Vorschlag, sqlCnn) adapter.SelectCommand = sqlCmd adapter.Fill(NewDataset) Dim msg As String For i = 0 To NewDataset.Tables(0).Rows.Count - 1 msg &= NewDataset.Tables(0).Rows(i).Item(0) & vbNewLine If i = 30 Then Exit For End If Next adapter.Dispose() sqlCmd.Dispose() sqlCnn.Close() MsgBox("Folgende Daten wurden erfolgreich abgerufen: " & vbNewLine & vbNewLine & msg & vbNewLine & vbNewLine & "Das Ergebnis wurd auf 30 Zeilen eingeschränkt!", MsgBoxStyle.Information) ElseIf connectionString.StartsWith("Data Source=") And connectionString.Contains("SERVICE_NAME") Then Dim sqlCnn As OracleConnection Dim sqlCmd As OracleCommand Dim adapter As New OracleDataAdapter Dim NewDataset As New DataSet sqlCnn = New OracleConnection(connectionString) ' Try sqlCnn.Open() sqlCmd = New OracleCommand(sql_Vorschlag, sqlCnn) adapter.SelectCommand = sqlCmd adapter.Fill(NewDataset) Dim msg As String For i = 0 To NewDataset.Tables(0).Rows.Count - 1 msg &= NewDataset.Tables(0).Rows(i).Item(0) & vbNewLine If i = 30 Then Exit For End If Next adapter.Dispose() sqlCmd.Dispose() sqlCnn.Close() MsgBox("Folgende Daten wurden erfolgreich abgerufen: " & vbNewLine & vbNewLine & msg & vbNewLine & vbNewLine & "Das Ergebnis wurd auf 30 Zeilen eingeschränkt!", MsgBoxStyle.Information) End If Else MsgBox("Keine gültige ConnectionID", MsgBoxStyle.Exclamation) End If Catch ex As Exception ClassLogger.Add(" - Unvorhergesehener Unexpected error in TestSQL - Fehler: " & vbNewLine & ex.Message) MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in TestSQL:") End Try End Sub Private Sub frmSQLSuggestion_Load(sender As Object, e As EventArgs) Handles Me.Load Try 'TODO: Diese Codezeile lädt Daten in die Tabelle "MyDataset.TBDD_CONNECTION". Sie können sie bei Bedarf verschieben oder entfernen. Me.TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = MyConnectionString Me.TBDD_CONNECTIONTableAdapter.Fill(Me.MyDataset.TBDD_CONNECTION) Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN) If DT.Rows.Count = 1 Then Me.cmbConnection.SelectedValue = DT.Rows(0).Item("CONNECTION_ID") SQL_ERGEBNISTextBox.Text = DT.Rows(0).Item("SQL_RESULT") SQL_UEBERPRUEFUNGTextBox.Text = DT.Rows(0).Item("SQL_CHECK") Else isinsert = True End If lblSave.Visible = False Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Open Form:") End Try End Sub Private Sub TBDD_CONNECTIONBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Me.Validate() Me.TBDD_CONNECTIONBindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.MyDataset) End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click frmConnections.ShowDialog() Me.TBDD_CONNECTIONTableAdapter.Fill(Me.MyDataset.TBDD_CONNECTION) End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Try ClassDatabase.Init() Dim origresultstring = ClassDatabase.Execute_Scalar("SELECT SQL_RESULT FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN, True) Dim origcheckstring = ClassDatabase.Execute_Scalar("SELECT SQL_CHECK FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN, True) Dim origConnection = ClassDatabase.Execute_Scalar("SELECT CONNECTION_ID FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN, True) Dim insresultstring = SQL_ERGEBNISTextBox.Text.Replace("'", "''") Dim inscheckstring = SQL_UEBERPRUEFUNGTextBox.Text.Replace("'", "''") If insresultstring <> origresultstring Or _ inscheckstring <> origcheckstring Then Dim cmd As String cmd = "UPDATE TBDD_INDEX_MAN SET CONNECTION_ID = " & cmbConnection.SelectedValue & ",SQL_RESULT = '" & insresultstring & "',SQL_CHECK = '" & inscheckstring & "',CHANGED_WHO = '" & _ Environment.UserName & "' WHERE GUID = " & CURRENT_INDEXMAN If ClassDatabase.Execute_non_Query(cmd, True) = True Then lblSave.Text = "SQL-Daten erfolgreich gespeichert - " & Now Me.lblSave.Visible = True Else Me.lblSave.Visible = False End If Else Me.lblSave.Visible = True lblSave.Text = "Keine Änderungen vorhanden" End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Save SQl IndexMan:") End Try End Sub Private Sub btnTestNachbearbeitung_Click(sender As Object, e As EventArgs) Handles btnTestNachbearbeitung.Click 'Die Nachbearbeitungsschritte laden Dim DTNB As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = " & CURRENT_INDEXMAN & " ORDER BY SEQUENCE") If DTNB Is Nothing = False Then If DTNB.Rows.Count > 0 Then Dim value As String = ClassPostprocessing.Get_Nachbearbeitung_Wert(txtTest_idxMan.Text, DTNB) MsgBox("Der Rückgabewert - nach Durchlaufen von (" & DTNB.Rows.Count.ToString & ") Nachbearbeitungsfunktionen lautet: '" & value & "'", MsgBoxStyle.Exclamation) End If End If End Sub Private Sub SQL_ERGEBNISTextBox_KeyPress(sender As Object, e As KeyPressEventArgs) Handles SQL_ERGEBNISTextBox.KeyPress If e.KeyChar = Convert.ToChar(1) Then DirectCast(sender, TextBox).SelectAll() e.Handled = True End If End Sub End Class