-1
SQL更新ステートメントの列のトリムは可能ですか?基本的には、ボタンをクリックすると、グリッドビューで選択されている列の下で、「ステータス」列の左側から10文字をトリミングしますか?SQL更新ステートメントの文字を切り取りますか?
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
If (e.CommandName = "Unlock") Then
Dim index As Integer = Convert.ToInt32(e.CommandArgument)
Dim row As GridViewRow = GridView1.Rows(index)
Try
Dim Con As SqlConnection
Dim cmd As SqlCommand
Con = New SqlConnection
Con.ConnectionString = "Data Source="
Con.Open()
cmd = New SqlCommand
cmd.Connection = Con
'''''Can I trim the status column 10 characters where it is the selected row?'''''''''''
cmd.CommandText = "UPDATE tbltest SET Status = '" & ?????? & "' where row = '" & ???????? & "';"
cmd.ExecuteNonQuery()
Catch ex As System.Exception
End Try
End If
End Sub
この行をトリミングしたいだけですか?主キーとは何ですか? –
これは私の質問の一部です。どうすれば、グリッドビュー上でボタンがクリックされた正しい行がトリムされることを確認できますか?各行に10個のロック解除ボタンが付いた10個の行があります – user1342164
GridViewRowを持っていて、PK情報を 'TemplateField'内の(隠し)コントロールに格納し、' row.FindControl( "ControlID") '。あるいは、あなたは[DataKeys'経由で入手できます(http://stackoverflow.com/questions/2818203/get-datakey-values-in-gridview-rowcommand)。次に、sql-parametersを使用するようにSQLクエリを変更します(主にSQLインジェクションの脆弱性を修正するため)。 'UPDATE tbltest SET Status = RIGHT(ステータス、LEN(ステータス) - 10)WHERE ID = @ ID'このようにsqlを使用することができます。 –