-1
我有一个gridview加载了来自我的数据库的数据和一个gridview交换函数,在列之间交换数据后调用“优先级”,我想保存这些更改到我的数据库。将数据集表格数据的特定列更新到SQL数据库
只有“优先级”列值会发生变化,我如何只更新我的数据集表的列到我的SQL数据库?请指教,谢谢!
代码:
Protected Sub Gridviewselectbus_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
If e.CommandName = "Up" Then
Dim index As Int16 = Convert.ToInt16(e.CommandArgument)
If index = 0 Or index = 1 Then
Exit Sub
End If
Dim objCampaignManagementTable As New CampaignManagementBLL
Dim ds As DataSet = objCampaignManagementTable.SelectCampaignManagementTableListing()
Dim dtr As DataRow = ds.Tables(0).Rows(index - 1)
Dim dtrSwap As DataRow = ds.Tables(0).Rows(index - 2)
Dim dc As DataColumn = ds.Tables(0).Columns(6)
'Dim value As Int16 = Convert.ToInt16(dt.Rows(index)("Priority"))
Dim value As Int16 = CType((dtr)(dc), Short)
Dim temp1 As Int16 = value
'Increases the selected row's priority
dtr(dc) = value - 1
'Decreases the priority of the row that is on top of the selected row by assigning
'the original selected row value to it.
dtrSwap(dc) = value
ds.Tables(0).DefaultView.Sort = "Priority"
ds.Tables(0).AcceptChanges()
dtNew = ds.Tables(0).Copy()
uigvList.DataSource = ds.Tables(0)
uigvList.DataBind()
ds.Tables(0).AcceptChanges()
For i As Integer = 0 To uigvList.Rows.Count - 1
dtNew.Rows(i)("Code") = uigvList.Rows(i).Cells(1).Text
dtNew.Rows(i)("Name") = uigvList.Rows(i).Cells(2).Text
dtNew.Rows(i)("Type") = uigvList.Rows(i).Cells(3).Text
dtNew.Rows(i)("ActiveDateFrom") = uigvList.Rows(i).Cells(4).Text
dtNew.Rows(i)("ActiveDateTo") = uigvList.Rows(i).Cells(5).Text
dtNew.Rows(i)("Priority") = uigvList.Rows(i).Cells(6).Text
Next
' Update database
End if
If e.CommandName = "down" Then
' Down code here
End Sub
出于好奇,为什么ODBC在这里? –
@MarcGravell这只是一个例子,我们可以用sql数据库替换... –