Foxtable(狐表)用户栏目专家坐堂 → 加载GUID字段


  共有1982人关注过本帖树形打印复制链接

主题:加载GUID字段

帅哥哟,离线,有人找我吗?
home8225
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:169 积分:1678 威望:0 精华:0 注册:2014/3/27 16:44:00
加载GUID字段  发帖心情 Post By:2017/10/17 10:42:00 [只看该作者]


直接调用原数据库的GUID字段作为唯一性判断,但是加载不进来,报错,求助。。。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171014193252.png
图片点击可在新窗口打开查看

Dim cmd As New SQLCommand

Dim dt As DataTable

Dim sCols() As String = {"ID","备注","公司品号","公司品名", "公司材质", "公司规格", "公司图号","单据日期","供应类型", "项目单位","客户型号", "客户品名", "客户单号","销售单号","订单数量","客户材质"}

Dim dCols() As String = {"ID","备注","公司品号","公司品名", "公司材质", "公司规格", "公司图号","单据日期","供应类型", "项目单位","客户型号", "客户品名", "客户单号","销售单号","订单数量","客户材质"}

cmd.C

cmd.CommandText = "Se/ect  {SALES_DELIVERY}.[DOC_NO] As [预备发货单号],{SALES_ORDER_DOC_D}.REMARK As [备注],[ITEM_CODE] As [公司品号],[ITEM_NAME] As [公司品名],SHORTCUT As [公司材质],{ITEM}.[ITEM_SPECIFICATION] As [公司规格],[DRAWING_NO] As [公司图号],CONVERT(varchar(16),{SALES_DELIVERY}.[DOC_DATE], 23) As [单据日期],{SALES_ORDER_DOC_D}.UDF021 As [供应类型],{SALES_ORDER_DOC_D}.UDF024 As [项目单位],{SALES_ORDER_DOC_D}.UDF025 As [客户型号],{SALES_ORDER_DOC_D}.UDF026 As [客户品名],[CUSTOMER_ORDER_NO] As [客户单号],{SALES_ORDER_DOC}.[DOC_NO] As [销售单号],{SALES_ORDER_DOC_D}.UDF022 As [客户材质],{SALES_ORDER_DOC_D}.[BUSINESS_QTY] As [订单数量],{SALES_DELIVERY_D}.SequenceNumber As [序号],{SALES_ORDER_DOC_D}.[SALES_ORDER_DOC_D_ID] As [ID] From (((({SALES_ORDER_DOC_D} Left JOIN {SALES_ORDER_DOC} ON {SALES_ORDER_DOC}.[SALES_ORDER_DOC_ID] = {SALES_ORDER_DOC_D}.[SALES_ORDER_DOC_ID]) Left JOIN {SALES_ORDER_DOC_SD} ON {SALES_ORDER_DOC_SD}.[SALES_ORDER_DOC_D_ID] = {SALES_ORDER_DOC_D}.[SALES_ORDER_DOC_D_ID]) Left JOIN {SALES_DELIVERY_D} ON {SALES_DELIVERY_D}.[REFERENCE_SOURCE_ID_ROid] = {SALES_ORDER_DOC_SD}.[SALES_ORDER_DOC_SD_ID]) Left JOIN {SALES_DELIVERY} ON {SALES_DELIVERY}.[SALES_DELIVERY_ID] = {SALES_DELIVERY_D}.[SALES_DELIVERY_ID]) Inner JOIN {ITEM} ON {ITEM}.[ITEM_BUSINESS_ID] = {SALES_ORDER_DOC_D}.[ITEM_ID]"

dt = cmd.ExecuteReader()

For Each dr As DataRow In dt.DataRows

Dim t As DataRow= DataTables("销售订单测试").Find("[ID] = '" & dr(sCols(0)) & "'") 


    If t Is Nothing Then '如果不存在同编号的订单

    t = DataTables("销售订单测试").AddNew()

    For i As Integer =0 To sCols.Length -1

        t(dCols(i)) = dr(sCols(i))

    Next

    End If

Next



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/17 10:51:00 [只看该作者]

改成

 

Dim t As DataRow= DataTables("销售订单测试").Find("[ID] = '" & dr(sCols(0)).ToString() & "'") 


 回到顶部
帅哥哟,离线,有人找我吗?
home8225
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:169 积分:1678 威望:0 精华:0 注册:2014/3/27 16:44:00
  发帖心情 Post By:2017/10/17 20:13:00 [只看该作者]

报错:
从类型“Guid”到类型“String”的转换无效。


 回到顶部
帅哥哟,离线,有人找我吗?
home8225
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:169 积分:1678 威望:0 精华:0 注册:2014/3/27 16:44:00
  发帖心情 Post By:2017/10/17 20:28:00 [只看该作者]

能够加载1条,但是仍然报错...

图片点击可在新窗口打开查看此主题相关图片如下:测.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:测1.jpg.jpg
图片点击可在新窗口打开查看

Dim t As DataRow= DataTables("销售订单测试").Find("[ID] = '" & dr(sCols(0)).ToString() & "'") 
    If t Is Nothing Then '如果不存在同编号的订单
    t = DataTables("销售订单测试").AddNew()

        t(dCols(0)) = dr(sCols(0)).ToString() 
    For i As Integer =1 To sCols.Length -1
        t(dCols(i)) = dr(sCols(i))


    Next
    End If
Next


把代码改成下面这样的话就能不断加载,但是每加载一条就会弹一次窗,求怎么解决。。

图片点击可在新窗口打开查看此主题相关图片如下:测.jpg
图片点击可在新窗口打开查看
Dim t As DataRow= DataTables("销售订单测试").Find("[ID] = '" & dr(sCols(0)).ToString() & "'") 
    If t Is Nothing Then '如果不存在同编号的订单
    t = DataTables("销售订单测试").AddNew()
    For i As Integer =1 To sCols.Length -1
        t(dCols(0)) = dr(sCols(0)).ToString() 
    Next
    End If
Next

[此贴子已经被作者于2017/10/17 20:32:11编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/10/17 20:31:00 [只看该作者]

2个表对应的的列的类型不一致吧

For i As Integer =1 To sCols.Length -1
if dr.isnull(sCols(i)) = false then
        t(dCols(i)) = dr(sCols(i))
end if

    Next

 回到顶部