函数未在所有代码路径上返回值

时间:2019-09-27 12:33:47

标签: database vb.net key oledb

我正在开发一个程序,该程序创建随机生成的密钥,并且对于每个生成的密钥,都会使用一个函数将其插入到本地创建的 oleDB 中。我的问题是,不知何故没有将密钥插入数据库。在插入函数的末尾,它声明它不会向所有代码路径返回值,而我不知道该如何“修复”。

下面是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

预先感谢您的帮助!

0 个答案:

没有答案