注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天边云E家 shaoruisky

IT博文共享,知识的海洋

 
 
 

日志

 
 

DataGridView增删改  

2015-02-07 17:12:05|  分类: C# |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Imports System
 Imports System.Data
 Imports System.Data.SqlClient
 
Namespace SQLDATA
     
     ''' <summary>
     ''' ClassZoneSQL的摘要说明
     ''' </summary>
     Public Class ClassZoneSQL
         
         'private ConnString myConnString;
         Private Shared cn As System.Data.SqlClient.SqlConnection
         
         Private da As System.Data.SqlClient.SqlDataAdapter
         
         Public Sub New()
             MyBase.New
             '
             ' TODO: 在此处添加构造函数逻辑
             '
             'myConnString=new ConnString();
             cn = New SqlConnection
             cn.ConnectionString = ConnString.ConnectString
             da = New SqlDataAdapter
             'cn.Open();
         End Sub
         
         Public Function DataList() As System.Data.DataTable
             cn.Open
             da.SelectCommand = CreateSeleteCommand
             Dim returnTB As DataTable = New DataTable
             da.Fill(returnTB)
             cn.Close
             returnTB.PrimaryKey = New DataColumn() {returnTB.Columns("ZoneID")}
             Return returnTB
         End Function
         
         Public Function DataEdit(ByVal myTB As System.Data.DataTable) As Integer
             cn.Open
             ' da.UpdateCommand =CreateUpdateCommand();
             ' da.InsertCommand =CreateInsertCommand();
             ' da.DeleteCommand =CreateDeleteCommand();
             ' da.Update(myTB);
             Dim cmdUpdate As SqlCommand = CreateUpdateCommand
             Dim cmdInsert As SqlCommand = CreateInsertCommand
             Dim cmdDelete As SqlCommand = CreateDeleteCommand
             Dim dvrs As DataViewRowState
             dvrs = (DataViewRowState.ModifiedCurrent  _
                         Or (DataViewRowState.Added Or DataViewRowState.Deleted))
             Dim myretu As Integer = 0
             For Each row As DataRow In myTB.Select("", "", dvrs)
                 Select Case (row.RowState)
                     Case DataRowState.Modified
                         myretu = SubmitUpdate(row, cmdUpdate)
                     Case DataRowState.Added
                         myretu = SubmitInsert(row, cmdInsert)
                     Case DataRowState.Deleted
                         myretu = SubmitDelete(row, cmdDelete)
                 End Select
             Next
             cn.Close
             Return myretu
         End Function
         
         Private Shared Function CreateSeleteCommand() As System.Data.SqlClient.SqlCommand
             Dim strSQL As String
             strSQL = "SELECT * FROM [Zone] WHERE DelBJ = '0' "
             Dim cmd As System.Data.SqlClient.SqlCommand = New SqlCommand(strSQL, cn)
             Return cmd
         End Function
         
         Private Shared Function CreateUpdateCommand() As System.Data.SqlClient.SqlCommand
             Dim strSQL As String
             strSQL = "UPDATE [Zone] SET ZoneName = @ZoneName_New ,DelBJ = @DelBJ_New WHERE "
             Dim cmd As System.Data.SqlClient.SqlCommand = New SqlCommand(strSQL, cn)
             Dim pc As System.Data.SqlClient.SqlParameterCollection = cmd.Parameters
             pc.Add("@ZoneName_New", System.Data.SqlDbType.VarChar, 20)
             pc.Add("@DelBJ_New", System.Data.SqlDbType.Bit, 1)
             Dim param As System.Data.SqlClient.SqlParameter
             param = pc.Add("@ZoneID_Orig", System.Data.SqlDbType.Decimal, 9)
             param.SourceVersion = DataRowVersion.Original
             Return cmd
         End Function
         
         Private Shared Function CreateInsertCommand() As System.Data.SqlClient.SqlCommand
             Dim strSQL As String
             strSQL = "INSERT INTO [Zone] (ZoneName) VALUES ( @ZoneName_New)"
             Dim cmd As System.Data.SqlClient.SqlCommand = New SqlCommand(strSQL, cn)
             Dim pc As System.Data.SqlClient.SqlParameterCollection = cmd.Parameters
             pc.Add("@ZoneName_New", System.Data.SqlDbType.VarChar, 20)
             Return cmd
         End Function
         
         Private Shared Function CreateDeleteCommand() As System.Data.SqlClient.SqlCommand
             Dim strSQL As String
             strSQL = "DELETE FROM [Zone] WHERE ZoneID "
             Dim cmd As System.Data.SqlClient.SqlCommand = New SqlCommand(strSQL, cn)
             Dim pc As System.Data.SqlClient.SqlParameterCollection = cmd.Parameters
             Dim param As System.Data.SqlClient.SqlParameter
             param = pc.Add("@ZoneID_Orig", System.Data.SqlDbType.Decimal, 9)
             param.SourceVersion = DataRowVersion.Original
             Return cmd
         End Function
         
         Private Shared Function SubmitUpdate(ByVal row As DataRow, ByVal cmd As SqlCommand) As Integer
             Dim pc As SqlParameterCollection = cmd.Parameters
             pc("@ZoneName_New").Value = row("ZoneName").ToString
             pc("@DelBJ_New").Value = System.Convert.ToBoolean(row("DelBJ"))
             pc("@ZoneID_Orig").Value = System.Convert.ToDecimal(row("ZoneID", DataRowVersion.Original))
             Try 
                 Return cmd.ExecuteNonQuery
             Catch  As System.Exception
                 Return 0
             End Try
         End Function
         
         Private Shared Function SubmitInsert(ByVal row As DataRow, ByVal cmd As SqlCommand) As Integer
             Dim pc As SqlParameterCollection = cmd.Parameters
             pc("@ZoneName_New").Value = row("ZoneName").ToString
             Try 
                 Return cmd.ExecuteNonQuery
             Catch  As System.Exception
                 Return 0
             End Try
         End Function
         
         Private Shared Function SubmitDelete(ByVal row As DataRow, ByVal cmd As SqlCommand) As Integer
             Dim pc As SqlParameterCollection = cmd.Parameters
             pc("@ZoneID_Orig").Value = System.Convert.ToDecimal(row("ZoneID", DataRowVersion.Original))
             Try 
                 Return cmd.ExecuteNonQuery
             Catch  As System.Exception
                 Return 0
             End Try
         End Function
     End Class
 End Namespace
  评论这张
 
阅读(80)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016