vb用dataset 更新数据并触发触发器,简体中文与繁体中文的转换
2013-05-10 09:30
453 查看
Dim SQL_Header As String = "CP Reference No.,CP Version No.,Call Lot,Remark ID,Remarks,UPDUSER" Dim SQL_Where As String = "" Dim SQL As String = "SELECT CPREFNO, CPVERNO,CLOT,REMLIN,REMARK,UPDUSER FROM CPM_Remark" Dim netDs As New DataSet Dim tn As String = "TB" Dim m As Int32
Private Sub Frm_CP_Management_Remark_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Try Me.txtCPREF.Text = CPREF Me.txtCPVER.Text = CPVERSION Me.txtCallLot.Text = CPCLOT Me.txtCustomer.Text = CPEKEY Me.txtGroupName.Text = CPGROUP Me.txtLocation.Text = CPLOCATION SQL_Where = " WHERE CPREFNO='" & CPREF & "' AND CPVERNO='" & CPVERSION & "'" netDs = gData.GetDataSet(SQL & SQL_Where & " ORDER BY REMLIN", sqlConn, tn) If netDs.Tables(tn).Rows.Count > 0 Then m = netDs.Tables(tn).Compute("max(remlin)", "") + 1 Else m = 1 End If netDs.Tables(tn).DefaultView.AllowNew = True netDs.Tables(tn).DefaultView.AllowDelete = True netDs.Tables(tn).DefaultView.AllowEdit = True dgv.DataSource = netDs.Tables(tn) dgv.AllowDrop = False Dim myGridStyle As DataGridTableStyle = New DataGridTableStyle myGridStyle.AllowSorting = False myGridStyle.ColumnHeadersVisible = False myGridStyle.RowHeadersVisible = False myGridStyle.AlternatingBackColor = Color.WhiteSmoke myGridStyle.MappingName = tn myGridStyle.RowHeadersVisible = True myGridStyle.SelectionForeColor = Color.DarkSeaGreen For i As Integer = 0 To netDs.Tables(tn).Columns.Count - 1 Select Case i Case 0 myGridStyle.GridColumnStyles.Add(TextBoxColumnStyle("CLOT", "Call Lot", 0, True)) Case 1 myGridStyle.GridColumnStyles.Add(TextBoxColumnStyle("REMLIN", "Remark ID", 0, True)) Case 2 myGridStyle.GridColumnStyles.Add(TextBoxColumnStyle("REMARK", "Remarks", 700, False)) End Select Next dgv.TableStyles.Add(myGridStyle) dgv.CaptionVisible = False gMainForm.StatusBar1.Panels(1).Text = "Total Records: " & netDs.Tables(tn).Rows.Count & " Current: " & dgv.CurrentCell.RowNumber + 1 Catch ex As Exception MsgBox(ex.ToString(), MsgBoxStyle.Information, Me.Text) End Try End Sub
Public Function SaveSub() As String If Not netDs.HasChanges Then Return "No data change." End If Dim mytran As OleDb.OleDbTransaction Dim n As Int16 = m Try For Each r As DataRow In netDs.Tables(tn).Rows If r.RowState = DataRowState.Added Or r.RowState = DataRowState.Modified Then If r.RowState = DataRowState.Added Then r.BeginEdit() r.Item("CPREFNO") = Me.CPREF r.Item("CPVERNO") = Me.CPVERSION r("clot") = Me.CPCLOT r("remlin") = n r("UPDUSER") = g.gUserId r("remark") = StrConv(r("remark"), Microsoft.VisualBasic.VbStrConv.TraditionalChinese) r.EndEdit() n = n + 1 End If If r.RowState = DataRowState.Modified Then r.BeginEdit() r("clot") = Me.CPCLOT r("UPDUSER") = g.gUserId r("remark") = StrConv(r("remark"), Microsoft.VisualBasic.VbStrConv.TraditionalChinese) r.EndEdit() End If If r("remark").ToString().Length > 120 Then Return "Max 120 characters for each line!" ElseIf r("remark").ToString().Length <= 0 Then Return "The record can not be blank." End If End If Next Dim chds As DataSet = netDs.GetChanges(DataRowState.Deleted + DataRowState.Added + DataRowState.Modified) mytran = sqlConn.BeginTransaction() Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(SQL, sqlConn) Dim cmb As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(da) da.SelectCommand.Connection = sqlConn da.SelectCommand.Transaction = mytran da.UpdateCommand = cmb.GetUpdateCommand() da.DeleteCommand = cmb.GetDeleteCommand() da.InsertCommand = cmb.GetInsertCommand() da.Update(chds, tn) netDs.AcceptChanges() mytran.Commit() Me.dgv.Refresh() m = n Return "Save successfully!" Catch ex As Exception Return "Commit Exception!" & vbCrLf & ex.ToString() Try mytran.Rollback() Catch ex2 As Exception Return "Rollback Exception!" & vbCrLf & ex.ToString() End Try End Try End Function
字符编码转换函数:StrConv(str,字符编码)
eg:把简体中文转换成繁体中文 StrConv(r("remark"), Microsoft.VisualBasic.VbStrConv.TraditionalChinese)
相关文章推荐
- 简体中文转换为繁体中文的PHP类
- 在网站中繁体中文和简体中文相互转换的实现
- 抽取wiki内容以及简体中文转换为繁体中文
- Python 繁体中文与简体中文相互转换
- Python 繁体中文与简体中文相互转换
- Linux下在程序中如何进行繁体中文和简体中文的转换
- c++ 繁体中文与简体中文的转换
- ASP.NET下利用HttpModule实现简体中文向繁体中文的自动转换
- 使用 cconv 转换简体中文和繁体中文
- [VB.NET]dataset中的数据如何与数据库保持实时更新
- 简体中文转换为繁体中文的PHP函数
- 转换简体中文和繁体中文 cconv-0.6.2 for win32 static
- Linux下在程序中如何进行繁体中文和简体中文的转换
- python繁体中文到简体中文的转换
- 简体中文与繁体中文的互相转换
- 简体中文和繁体中文的转换
- 简体中文与繁体中文之间的转换
- Asp.net 用DataSet对象更新数据(SqlDataAdapter) DataTable加主键
- JavaScript简体繁体中文转换
- 把dataset中的数据更新回 数据库