Update tbl i Db. Jeg kan ikke finde fejlen.........
Hej med jer.......Jeg kan ikke finde fejlen, overhovedet.
Jeg vil updatere et par felter i en tbl fra Db.
Disse textbox's bliver loaded med data, valgt fra radiobuttonlist.
Her er min kode:
Event handler på min code-behind side:
'updater job data
Public Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
If IsValid Then
If CInt(Context.Session("TP_UserRights")) <> 1 Then
With lblError
.Text = "<ul><li>Du har ikke rettigheder til at tilføje data i databasen!</li></ul>"
.ForeColor = Color.Red
.Visible = True
End With
Else
Dim txtJobTitleField As String = txtJobTitle.Text
Dim txtJobDescriptionField As String = txtJobDescription.Text
Dim jobID As Integer = CType(radJobData.SelectedItem.Value, Integer)
Dim jobManagementClass As JobManagementClass = New JobManagementClass()
Try
Dim intResult As Integer = jobManagementClass.JobUpdateData(jobID, txtJobTitleField, txtJobDescriptionField)
Dim strResult As String
Select Case intResult
Case -1 : strResult += "<font style=""color:red;""><ul><li>Der skete en fejl, og jobdataen er ikke blevet updateret!</li></ul></font>"
Case 0 : strResult += "<font style=""color:red;""><ul><li>Der skete en fejl, og jobdataen er ikke blevet updateret!</li></ul></font>"
Case Is > 0 : strResult += "<font style=""color:green;""><ul><li>Job dataen er blevet updateret korrekt!</li></ul></font>"
End Select
lblMsg.Text = strResult
lblMsg.Visible = True
Catch ex As Exception
lblError.Text = "Der opstod en fejl!"
lblError.ForeColor = Color.Red
lblError.Font.Bold = True
lblMsg.Visible = False
End Try
End If
End If
End Sub
i min klasse fil har jeg så denne metode som tager sig af updateringen
metode i klassen:
'updater job dataen
Public Function JobUpdateData(ByVal jobID As Integer, ByVal txtJobTitleField As String, ByVal txtJobDescriptionField As String) As Integer
Dim con As New SqlConnection(connectionString)
Dim cmd As New SqlCommand("@sp_JobDataUpdate", con)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@JobID", SqlDbType.Int, 4).Value = jobID
cmd.Parameters.Add("@JobTitle", SqlDbType.VarChar, 100).Value = txtJobTitleField
cmd.Parameters.Add("@JobDescription", SqlDbType.Text).Value = txtJobDescriptionField
cmd.Parameters.Add("@Result", SqlDbType.Int, 4).Direction = ParameterDirection.Output
Try
If con.State <> ConnectionState.Open Then
con.Open()
End If
If jobID <> Nothing Then
jobID = cmd.ExecuteNonQuery()
Else
Throw New Exception()
cmd.Dispose()
cmd.Cancel()
End If
Catch
Throw New Exception()
con.Dispose()
con.Close()
Exit Function
Finally
If con.State <> ConnectionState.Closed Then
con.Dispose()
con.Close()
End If
End Try
Return CType(cmd.Parameters("@Result").Value, Integer)
End Function
hvad er der galt her?
Nogen forslag.....
MVH
DK
