UPDATE tblGuestbook SET ModBy = " & Session("bw_user") & ", ModDate = '" & Now() & "', Guestbook = '" & GName & "' WHERE ID = " & tbl1_Id
skulle jag korta ner den till... sen är det lite svårt att säga vad som är fel när man inte vet hur din databas ser ut eller hur din kod funkar i övrigt.
Funkar din connection string, till exempel? (strConn)
Heter ditt id-fält i databasen verkligen ID och inte Id eller id? (vet inte om case har betydelse här)
Använder du SQL Server som databas? Annars ska du nog inte ha SqlConnection...
Dim sql As String = String.Format("UPDATE tblGuestbook SET ModBy = '{0}', ModDate = '{1}', Guestbook = '{2}' WHERE tblGuestbook.ID = {3}", Session("bw_user").ToString(), DateTime.Now.ToString(), Txt_Gbook.Text, Convert.ToInt32(Request.QueryString("Id")))
Dim conn As New SqlConnection(strConn)
Dim cmd As New SqlCommand(sql, conn)
Try
conn.Open()
cmd.ExecuteNonQuery()
Catch ex As SqlException
Throw
Finally
conn.Close()
End Try
Response.Redirect(String.Format("gbook_edit2.aspx?Id={0}&GBName={1}", Request.QueryString("Id"), Txt_Gbook.Text))
Parametriserade frågor är det som gäller, för stabilitet, säkerhet och prestanda.
Dim sql As String = "UPDATE tblGuestbook SET ModBy = @ModBy, ModDate = @ModDate, Guestbook = @Guestbook WHERE tblGuestbook.ID = @GuestBookID"
Dim conn As New SqlConnection(strConn)
Dim cmd As New SqlCommand(sql, conn)
cmd.Parameters.Add("@ModBy",SqlDbType.VarChar,50).Value=Session("bw_user").ToString()
cmd.Parameters.Add("@ModDate",SqlDbType.DateTime).Value=DateTime.Now
cmd.Parameters.Add("@Guestbook ",SqlDbType.VarChar,50).Value=Txt_Gbook.Text
cmd.Parameters.Add("@GuestbookID",SqlDbType.Int).Value=Convert.ToInt32(Request.QueryString("Id")
Try
conn.Open()
cmd.ExecuteNonQuery()
Catch ex As SqlException
Throw
Finally
conn.Close()
End Try
Response.Redirect(String.Format("gbook_edit2.aspx?Id={0}&GBName={1}", Request.QueryString("Id"), Server.URLEncode(Txt_Gbook.Text)))
Dim sql As String = "UPDATE tblGuestbook SET ModBy = @ModBy, ModDate = @ModDate, Guestbook = @Guestbook WHERE tblGuestbook.ID = @GuestBookID"
Using conn As New SqlConnection(strConn)
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.Add("@ModBy",SqlDbType.VarChar,50).Value=Session("bw_user").ToString()
cmd.Parameters.Add("@ModDate",SqlDbType.DateTime).Value=DateTime.Now
cmd.Parameters.Add("@Guestbook ",SqlDbType.VarChar,50).Value=Txt_Gbook.Text
cmd.Parameters.Add("@GuestbookID",SqlDbType.Int).Value=Convert.ToInt32(Request.QueryString("Id")
conn.Open()
cmd.ExecuteNonQuery()
End Using
End Using
Response.Redirect(String.Format("gbook_edit2.aspx?Id={0}&GBName={1}", Request.QueryString("Id"), Server.URLEncode(Txt_Gbook.Text)))
Felet låg till sist inte i SQL:en alla fungerar (även min rackare). Lösningen blev till slut att jag måste lära mig att i ASP.NET ska jag tänka på att response.redirect ska man sluta med när det är en postback till samma sida och sen endast använda mig av response.redirect när jag ska till ny sida.
Valde emissions sql med parametrar, då den känns väldigt trygg. Samt att jag lärde mig mest nytt på den.
Public Sub SaveBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveBtn.Click
Dim sql As String = "UPDATE tblGuestbook SET ModBy = @ModBy, ModDate = @ModDate, Guestbook = @Guestbook WHERE tblGuestbook.ID = @GuestBookID"
Dim conn As New SqlConnection(strConn)
Dim cmd As New SqlCommand(sql, conn)
cmd.Parameters.Add("@ModBy", SqlDbType.VarChar, 50).Value = Session("bw_user").ToString()
cmd.Parameters.Add("@ModDate", SqlDbType.DateTime).Value = DateTime.Now
cmd.Parameters.Add("@Guestbook ", SqlDbType.VarChar, 50).Value = Txt_Gbook.Text
cmd.Parameters.Add("@GuestbookID", SqlDbType.Int).Value = Convert.ToInt32(Request.QueryString("Id"))
Try
conn.Open()
cmd.ExecuteNonQuery()
Catch ex As SqlException
Throw
Finally
conn.Close()
End Try
ActionDone.ForeColor = System.Drawing.Color.Green
ActionDone.Text = " - sparad"
Call PopulateDatagrid()
' Response.Redirect(String.Format("gbook_edit2.aspx?Id={0}&GBName={1}", Request.QueryString("Id"), Server.UrlEncode(Txt_Gbook.Text)))
257 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a