以文本方式查看主题 - 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 -- 哇,这么高级,这样也可以完成,那我试试,多谢! |