visual basic(vb.net)中运用两表之间的相同字段实现数据在表间流转

2020/07/22 09:52 · VB.NET · 21阅读 · 0评论
阿里云·云小站,新老用户同享,1核2G云服务器低至89元/年,229元/3年;2核4G3M3年639元
摘要:

visual basic(vb.net)中运用两表之间的相同字段实现数据在表间流转的应用场景:我们在运用visual basic(vb.net)开发应用程序的过程中,数据流转可谓是必然,但是采用好的方法进行数据流转,常常可以达到事半功倍的效果,这次我就向大家介绍这一个方法。

visual basic(vb.net)中运用两表之间的相同字段实现数据在表间流转的应用场景

我们在运用visual basic(vb.net)开发应用程序的过程中,

数据流转可谓是必然,

但是采用好的方法进行数据流转,

常常可以达到事半功倍的效果,

这次我就向大家介绍这一个方法。

visual basic(vb.net)中运用两表之间的相同字段实现数据在表间流转的解决方法

首先构建一个visual basic(vb.net)获取相同字段的公共过程,

sql语言可以参考我的另一篇文章《sql server中如何获取两个数据表中相同的字段》,

 Private Function GetColName(ByVal sTableName As String, ByVal dTableName As String) As String
        Try
            Dim Sql As String
            Dim Dst As New DataSet
            Sql = "select a.name from ( " + vbCrLf + _
                "		select b.name from sysobjects a	left join syscolumns b on a.id = b.id where a.name = '" + 表1名称 + "' " + vbCrLf + _
                "	) a " + vbCrLf + _
                "	left join ( " + vbCrLf + _
                "		select b.name from sysobjects a left join syscolumns b on a.id = b.id where a.name = '" + 表2名称 + "' " + vbCrLf + _
                "	) b on a.name = b.name  " + vbCrLf + _
                "	where ISNULL(b.name,'') <> '' "
            Dst = Exec(Sql, ExecType.DataSet)
            
            rem 这里是构建字符串
            Dim sstr As String = ""
            For Each row In Dst.Tables(0).Rows
                sstr += "[" + row(0) + "],"
            Next
            Return sstr.Trim(",")
        Catch ex As Exception
            Throw ex
        End Try
  End Function

然后,调用这个过程获得相同字段的字符串,

同时可以通过replace进行修改字符串对应内容,

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            rem 调用过程获取相同字段
            Dim tblPipesStockColumn As String = GetColName("tblPipesStock", "tblDoOrderSplitWeight")
            
            rem 给字段添加别名
            Dim tblProducts_all_OutStockDetail_AColumn As String = "a." + Replace(tblPipesStockColumn, ",", ",a.")
            rem 对部分字段做特殊处理
            tblProducts_all_OutStockDetail_AColumn = Replace(tblProducts_all_OutStockDetail_AColumn, "a.[Pcs]", "0 Pcs")
            tblProducts_all_OutStockDetail_AColumn = Replace(tblProducts_all_OutStockDetail_AColumn, "a.[Weight]", "0 Weight")
            rem 使用插入语句
            Sql = "Insert into tblPipesStock(" + tblPipesStockColumn + ")"
            Sql += " Select " + tblProducts_all_OutStockDetail_AColumn + " " + vbCrLf + _
                " from tblDoOrderSplitWeight a " + vbCrLf + _
                " left join tblPipesStock b on a.PcsNo = b.PcsNo" + vbCrLf + _
                " where a.StripOrderNo = '123456' "
            Exec(Sql, ExecType.NonQuery)
        Catch ex As Exception
            MsgBox(ex.Message.ToString)
        End Try
    End Sub

visual basic(vb.net)中运用两表之间的相同字段实现数据在表间流转的结论

通过这样一个方法,极大的减少visual basic(vb.net)的代码量和出错率,

而且如果是直接用字段插入,一般非常长,容易看花眼!

您可能感兴趣的文章

本文地址:https://www.huazai186.com/post/154.html
文章标签:
版权声明:本文为原创文章,版权归 羽化飞翔 所有,欢迎分享本文,转载请保留出处!

文件下载

上一篇:
下一篇:
腾讯云618云聚惠活动火热进行中,1核2G-288元/3年,2核4G3M-1288元/3年,2核8G5M-1688元/3年,4核8G5M-1999元/3年

 发表评论


表情