id van laatste record terugkrijgen + badbindinfo error

Status
Niet open voor verdere reacties.

Mario vde

Gebruiker
Lid geworden
19 feb 2007
Berichten
11
Hallo, ik probeer een nieuwe medewerker toe te voegen in mijn access database.
ik probeer dit via deze code te doen, aangezien ik de ID van de nieuwe rij wil terugkrijgen om verder te gebruiken.

is het mogelijk om dit eens te bekijken?

Public Function Insertid(ByVal aTable As String, ByVal aDataArray As Array) As Integer
Try
Dim connectionString As String
Dim theConn As New DeConnectie
connectionString = theConn.get_connection_string
Dim sqlstr As String
' Create connection object
Dim connection As New OleDbConnection(connectionString)
Dim adocmd As OleDbCommand
Dim lngnewid As Integer
connection.Open()
Select Case aTable
Case "tblMedewerker"
sqlstr = "INSERT into tblMedewerker (MedewerkerNaam, MedewerkerVoornaam, MedewerkerStraatNr, FK_Gemeente, FK_Taal , MedewerkerEmail , MedewerkerTelefoon, MedewerkerGsm, MedewerkerInterneNummer, FK_Afdeling, MedewerkerTitel, MedewerkerLogin, MedewerkerPaswoord, MedewerkerAdmin, MedewerkerLezen, MedewerkerSchrijven) values (@MedewerkerNaam, @MedewerkerVoornaam, @MedewerkerStraatNr, @FK_Gemeente , @FK_Taal , @MedewerkerEmail , @MedewerkerTelefoon, @MedewerkerGsm, @MedewerkerInterneNummer, @FK_Afdeling, @MedewerkerTitel, @MedewerkerLogin, @MedewerkerPaswoord, @MedewerkerAdmin, @MedewerkerLezen, @MedewerkerSchrijven)"
adocmd = New OleDbCommand(sqlstr, connection)
adocmd.CommandType = CommandType.Text 'type commando

adocmd.Parameters.Add(New OleDbParameter("@MedewerkerNaam", OleDbType.VarChar, 200)).Value = aDataArray(0).ToString
adocmd.Parameters("@MedewerkerNaam").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@MedewerkerVoornaam", OleDbType.VarChar, 200)).Value = aDataArray(1).ToString
adocmd.Parameters("@MedewerkerVoornaam").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@MedewerkerStraatNr", OleDbType.VarChar, 200)).Value = aDataArray(2).ToString
adocmd.Parameters("@MedewerkerStraatNr").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@FK_Gemeente", OleDbType.Integer, 4)).Value = aDataArray(3)
adocmd.Parameters("@FK_Gemeente").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@FK_Taal", OleDbType.Integer, 4)).Value = aDataArray(4)
adocmd.Parameters("@FK_Taal").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@MedewerkerEmail", OleDbType.VarChar, 200)).Value = aDataArray(5).ToString
adocmd.Parameters("@MedewerkerEmail").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@MedewerkerTelefoon", OleDbType.VarChar, 200)).Value = aDataArray(6).ToString
adocmd.Parameters("@MedewerkerTelefoon").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@MedewerkerGsm", OleDbType.VarChar, 200)).Value = aDataArray(7).ToString
adocmd.Parameters("@MedewerkerGsm").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@MedewerkerInterneNummer", OleDbType.Integer, 4)).Value = aDataArray(8)
adocmd.Parameters("@MedewerkerInterneNummer").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@FK_Afdeling", OleDbType.Integer, 4)).Value = aDataArray(9)
adocmd.Parameters("@FK_Afdeling").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@MedewerkerTitel", OleDbType.VarChar, 200)).Value = aDataArray(10).ToString
adocmd.Parameters("@MedewerkerTitel").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@MedewerkerLogin", OleDbType.VarChar, 200)).Value = aDataArray(11).ToString
adocmd.Parameters("@MedewerkerLogin").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@MedewerkerPaswoord", OleDbType.VarChar, 200)).Value = aDataArray(12).ToString
adocmd.Parameters("@MedewerkerPaswoord").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@MedewerkerAdmin", OleDbType.Boolean)).Value = aDataArray(13)
adocmd.Parameters("@MedewerkerAdmin").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@MedewerkerLezen", OleDbType.Boolean)).Value = aDataArray(14)
adocmd.Parameters("@MedewerkerLezen").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@MedewerkerSchrijven", OleDbType.Boolean)).Value = aDataArray(15)
adocmd.Parameters("@MedewerkerSchrijven").Direction = ParameterDirection.Output

adocmd.Parameters.Add(New OleDbParameter("@PK_Medewerker", OleDbType.Integer, 4))
adocmd.Parameters("@PK_Medewerker").Direction = ParameterDirection.Input


adocmd.ExecuteNonQuery()
lngnewid = adocmd.Parameters(16).Value
adocmd.Dispose()
adocmd = Nothing



End Select
connection.Close()
connection.Dispose()
connection = Nothing

Catch ex As Exception
MsgBox(ex.Message)
Return -1
End Try
End Function



Nu krijg ik een "invald parameter processor" error BADBINDINFO



thank you!
 
Waarom sla je het medewerker-ID niet op in een sessie-variabele voordat je deze INSERT ?

SELECT ... WHERE medewerker-ID = sessie-variabele
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan