database - 函数不会在所有代码路径上返回值
问题描述
我正在开发一个创建随机生成的密钥的程序,并且对于生成的每个密钥,一个函数用于将其插入到本地创建的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
在此先感谢您的帮助!
解决方案
推荐阅读
- java - Tomcat:未找到允许使用 OpenSSL 的本机库
- reactjs - 如何在 React useState 中访问元素的名称
- discord.js - Discord.js - 你如何获得频道的 ID?
- python - 来自 python 的 12 个月移动平均线
- python - 查找熊猫数据框中列之间的父子关系
- python - 如何将函数的字符串输出转换为输入或可运行的 shell 命令?
- javascript - 悬停效果仅在悬停在卡片上半部分时触发
- javascript - 想从关系树中删除关系,但我不知道我错在哪里
- android - 为什么flutter release apk会崩溃?
- r - cor.test 的奇怪问题——去掉结果中的 [[1]]、[[2]] 等