Avatar billede dcasso Nybegynder
14. september 2004 - 13:34 Der er 3 kommentarer og
1 løsning

Evaluere en update sql query der ikke opdaterer nogle rækker

Hej

Hvordan analyserer jeg bedst denne sql-statement. Får at vide, at den opdaterer 0 rækker men kan ikke lige finde ud af, hvor det går galt.

            Function updateEmployee(ByVal employeeId As Integer, ByVal surName As String, ByVal lastname As String, ByVal shortName As String, ByVal address As String, ByVal address2 As String, ByVal zipcode As Integer, ByVal telephone As String, ByVal mobile As String, ByVal email As String, ByVal active As Boolean, ByVal userName As String, ByVal password As String) As Integer
                Dim dbConnection As System.Data.IDbConnection = New System.Data.OleDb.OleDbConnection(ConfigurationSettings.AppSettings("connectionstring"))
   
                Dim queryString As String = "UPDATE [Employee] SET [Telephone]=@Telephone, [ShortName]=@ShortName, [Mobile]=@Mobile, [Lastname]=@Lastname, [Email]=@Email, [Password]=@Password, [Address]=@Address, [SurName]=@SurName, [UserName]=@UserName, [Zipcode]=@Zipcode, [Address2]=@Address2, [Active]=@Active WHERE ([Employee].[EmployeeId] = @EmployeeId)"
   
                Dim dbCommand As System.Data.IDbCommand = New System.Data.OleDb.OleDbCommand
                dbCommand.CommandText = queryString
                dbCommand.Connection = dbConnection
   
                Dim dbParam_employeeId As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
                dbParam_employeeId.ParameterName = "@EmployeeId"
                dbParam_employeeId.Value = employeeId
                dbParam_employeeId.DbType = System.Data.DbType.Int32
                dbCommand.Parameters.Add(dbParam_employeeId)
                Dim dbParam_surName As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
                dbParam_surName.ParameterName = "@SurName"
                dbParam_surName.Value = surName
                dbParam_surName.DbType = System.Data.DbType.String
                dbCommand.Parameters.Add(dbParam_surName)
                Dim dbParam_lastname As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
                dbParam_lastname.ParameterName = "@Lastname"
                dbParam_lastname.Value = lastname
                dbParam_lastname.DbType = System.Data.DbType.String
                dbCommand.Parameters.Add(dbParam_lastname)
                Dim dbParam_shortName As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
                dbParam_shortName.ParameterName = "@ShortName"
                dbParam_shortName.Value = shortName
                dbParam_shortName.DbType = System.Data.DbType.String
                dbCommand.Parameters.Add(dbParam_shortName)
                Dim dbParam_address As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
                dbParam_address.ParameterName = "@Address"
                dbParam_address.Value = address
                dbParam_address.DbType = System.Data.DbType.String
                dbCommand.Parameters.Add(dbParam_address)
                Dim dbParam_address2 As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
                dbParam_address2.ParameterName = "@Address2"
                dbParam_address2.Value = address2
                dbParam_address2.DbType = System.Data.DbType.String
                dbCommand.Parameters.Add(dbParam_address2)
                Dim dbParam_zipcode As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
                dbParam_zipcode.ParameterName = "@Zipcode"
                dbParam_zipcode.Value = zipcode
                dbParam_zipcode.DbType = System.Data.DbType.Int32
                dbCommand.Parameters.Add(dbParam_zipcode)
                Dim dbParam_telephone As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
                dbParam_telephone.ParameterName = "@Telephone"
                dbParam_telephone.Value = telephone
                dbParam_telephone.DbType = System.Data.DbType.String
                dbCommand.Parameters.Add(dbParam_telephone)
                Dim dbParam_mobile As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
                dbParam_mobile.ParameterName = "@Mobile"
                dbParam_mobile.Value = mobile
                dbParam_mobile.DbType = System.Data.DbType.String
                dbCommand.Parameters.Add(dbParam_mobile)
                Dim dbParam_email As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
                dbParam_email.ParameterName = "@Email"
                dbParam_email.Value = email
                dbParam_email.DbType = System.Data.DbType.String
                dbCommand.Parameters.Add(dbParam_email)
                Dim dbParam_active As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
                dbParam_active.ParameterName = "@Active"
                dbParam_active.Value = active
                dbParam_active.DbType = System.Data.DbType.Boolean
                dbCommand.Parameters.Add(dbParam_active)
                Dim dbParam_userName As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
                dbParam_userName.ParameterName = "@UserName"
                dbParam_userName.Value = userName
                dbParam_userName.DbType = System.Data.DbType.String
                dbCommand.Parameters.Add(dbParam_userName)
                Dim dbParam_password As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
                dbParam_password.ParameterName = "@Password"
                dbParam_password.Value = password
                dbParam_password.DbType = System.Data.DbType.String
                dbCommand.Parameters.Add(dbParam_password)
   
                Dim rowsAffected As Integer = 0
                dbConnection.Open
                Try
                    rowsAffected = dbCommand.ExecuteNonQuery
                Finally
                    dbConnection.Close
                End Try
   
                Return rowsAffected
            End Function



Databasen indeholder følgende felter:
SurName - string
Lastname - string
ShortName - string
Address - string
Address2 - string
Zipcode - integer
Telephone - string
Mobile - string
Email - string
Created - integer
Active - boolean
UserName - string
Password - string

Har forsøgt med trace men blev ik klogere.
Har kørt query'en direkte i access og får at vide, at der er en typekonverteringsfejl, men kan ikke finde den.

mvh
Dennis
Avatar billede snepnet Nybegynder
14. september 2004 - 18:33 #1
bliver der ikke smidt nogen exception ?
Avatar billede dcasso Nybegynder
15. september 2004 - 06:45 #2
Har prøvet at lave en catch og sende den til et labelfelt, kom intet frem
Avatar billede snepnet Nybegynder
02. oktober 2004 - 02:42 #3
sorry - har være uopmærksom her :o(
har du stadig problemer ?
mvh
Avatar billede dcasso Nybegynder
17. oktober 2004 - 21:44 #4
Lukker spørgsmålet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester