Я работаю над программой, которая создает случайные сгенерированные ключи, и для каждого сгенерированного ключа используется функция для вставки его в локально созданный 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
Заранее спасибо за помощь!