Функция не возвращает значение для всех путей кода - PullRequest
0 голосов
/ 27 сентября 2019

Я работаю над программой, которая создает случайные сгенерированные ключи, и для каждого сгенерированного ключа используется функция для вставки его в локально созданный oleDB .Проблема у меня в том, что как-то не вставляет ключи в базу данных.В конце функции Insert указано, что она не возвращает значение для всех путей кода, которые я не знаю, как «исправить».

Ниже приведена функция InsertData:

Public Function InsertData(ByVal sKey As String, ByVal sUsability As String, ByVal sAssNr As String, ByVal sAvailability As String, ByVal sToday As Date, ByVal sUsername As String, ByVal sAvailavble As Byte) As String

        Try
            Dim sqlconn As New OleDb.OleDbConnection
            Dim sqlquery As New OleDb.OleDbCommand
            Dim connString As String
            connString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & modMain.msv_sMSAccess_File_Path & "\" & modMain.msv_sMSAccess_File_Name & "; Jet OLEDB:Database Password=" & modCrypto.Decrypt(modMain.msv_sMSAccess_File_Password, modMain.sKey, modMain.sSalt, 256) & ";ole db services=-4;"   ';ole db services = -4 >> kein connection pooling
            sqlconn.ConnectionString = connString
            sqlquery.Connection = sqlconn
            sqlconn.Open()
            sqlquery.CommandText = "Insert Into " & frmMain.ToolStrip_Main_SelectYr.Text & "(Gutscheincode, Verwendungsanzahl, Assistent, Gueltig_bis, Erstellt_am, Erstellt_vom, verbraucht) VALUES ('" & sKey & "','" & sUsability & "','" & sAssNr & "','" & sAvailability & "','" & sToday & "','" & sUsername & "','" & sAvailavble & "');"
            sqlconn.Close()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try

    End Function

И это функция для создания базы данных:

Friend Function createTable(ByVal sTablename As String, ByVal iYear As Integer) As Boolean

        Dim VoucherDB As New OleDbConnection(getProviderString())
        Dim SQLStr As String = "CREATE TABLE " & sTablename & iYear & " (voucher_ID COUNTER NOT NULL CONSTRAINT PK_ID_no PRIMARY KEY, " &
                                                                        "Gutscheincode                                  Varchar(255) ," &
                                                                        "Verwendungsanzahl                              Varchar(255) ," &
                                                                        "Assistent                                      Varchar(255) ," &
                                                                        "Gueltig_bis                                    Varchar(255) ," &
                                                                        "Erstellt_am                                    DateTime DEFAULT Now, " &
                                                                        "Erstellt_vom                                   Varchar(255) ," &
                                                                        "Verbraucht                                     Bit DEFAULT FALSE " &
                                                                        ")"  'wichtig bei der letzten Spalte >> Rechnungsnummer darf hinter dem Datentyp kein Komma mehr stehen

        Dim DBCommand As OleDbCommand = New OleDbCommand(SQLStr, VoucherDB)

        Try
            VoucherDB.Open() 'Payment Tabelle erzeugen
            DBCommand.ExecuteNonQuery()
            VoucherDB.Close()

            VoucherDB.Dispose()
            Return True

        Catch ex As OleDbException
            frmMain.LogMessage(modMain.msv_sAppname_Short & ", Fehler beim erstellen der Leerdatenbank " & modMain.sMSAccess_File_Name & ". Es kam zu folgender Exception : " & ex.Message, 3)
            If VoucherDB IsNot Nothing Then VoucherDB.Close()
            Return False
        End Try


    End Function

Заранее спасибо за помощь!

...