113 lines
5.7 KiB
VB.net
113 lines
5.7 KiB
VB.net
Imports Oracle.ManagedDataAccess.Client
|
|
Public Class SQLConfigAutoIndex
|
|
|
|
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 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(";Persist Security Info=True;User Id=") Then
|
|
Dim sqlCnn As OracleConnection
|
|
Dim sqlCmd As OracleCommand
|
|
Dim adapter As OracleDataAdapter
|
|
Dim NewDataset As 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 Fehler bei TestSQL - Fehler: " & vbNewLine & ex.Message)
|
|
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei TestSQL:")
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub frmSQLSuggestion_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
'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_AUTOM WHERE GUID = " & CURRENT_INDEXAUTO)
|
|
If DT.Rows.Count = 1 Then
|
|
Me.cmbConnection.SelectedValue = DT.Rows(0).Item("CONNECTION_ID")
|
|
SQL_ERGEBNISTextBox.Text = DT.Rows(0).Item("SQL_RESULT")
|
|
End If
|
|
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 btnsave.Click
|
|
Try
|
|
Dim origresultstring = ClassDatabase.Execute_Scalar("SELECT SQL_RESULT FROM TBDD_INDEX_AUTOM WHERE GUID = " & CURRENT_INDEXAUTO, MyConnectionString, True)
|
|
'Dim origConnection = ClassDatabase.Execute_Scalar("SELECT CONNECTION_ID FROM TBDD_INDEX_AUTOM WHERE GUID = " & CURRENT_INDEXAUTO, True)
|
|
'If origConnection Is DBNull Then
|
|
|
|
'End If
|
|
Dim insresultstring = SQL_ERGEBNISTextBox.Text.Replace("'", "''")
|
|
If insresultstring <> origresultstring Then
|
|
Dim cmd As String
|
|
cmd = "UPDATE TBDD_INDEX_AUTOM SET CONNECTION_ID = " & cmbConnection.SelectedValue & ",SQL_RESULT = '" & insresultstring & "',CHANGED_WHO = '" & _
|
|
Environment.UserName & "' WHERE GUID = " & CURRENT_INDEXAUTO
|
|
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 IndexAuto:")
|
|
End Try
|
|
End Sub
|
|
End Class |