以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于foxtable合并数据到sql server2008表问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=37471)

--  作者:cat88hzh
--  发布时间:2013/7/4 13:49:00
--  关于foxtable合并数据到sql server2008表问题
我有一个Sheet1表,已经导入到foxtable,想把这个表插入到sql server 2008的Costdefine表中,这个表中有个主键CD001,是文本类型。
我把Costdefine表清空了,然后执行下面的语句插入数据,但是报错 无法设置列“CD001”。此值违反了此列的 MaxLength 限制。但是我直接用手工输入进去没有问题不会报错,所以应该没有超出字符限制,不知道是什么原因。

For Each dr As Row In Tables("Sheet1").Rows
    Dim nr As DataRow = DataTables("Costdefine").AddNew()
MessageBox.Show(1)
    For Each dc As Col In Tables("Sheet1").Cols
MessageBox.Show(dc.Name)
        nr(dc.Name) = dr(dc.Name)
    Next
Next
DataTables("Costdefine").Save()

--  作者:don
--  发布时间:2013/7/4 13:59:00
--  
你沒有手工輸入全部,肯定是長度超出,修改字段長度解決吧
--  作者:cat88hzh
--  发布时间:2013/7/4 14:25:00
--  
我是这样测的,它运行到第三个就停下了,我就把另一个表的第三个数据直接复制粘贴进去,点击保存,也没问题的,想问一下会不会是和foxtable要装2008插件有关系?
--  作者:Bin
--  发布时间:2013/7/4 14:27:00
--  
你觉得没有超出,实际超出了.也许有隐藏字符(换行符之类的)   或者大量空格.
--  作者:cat88hzh
--  发布时间:2013/7/4 14:46:00
--  
请问我怎么把表格的数据变成字符之类的,比如dr(dc.Name)后面也没有trim这样的函数,我要怎么转换一下?
--  作者:Bin
--  发布时间:2013/7/4 14:50:00
--  
如果你确保你是字符串列  直接dr(dc.Name).Trim()
--  作者:cat88hzh
--  发布时间:2013/7/4 14:54:00
--  
哇,这么高级,这样也可以完成,那我试试,多谢!