找回密码
 立即注册

QQ登录

只需一步,快速开始

freddy星

注册会员

8

主题

18

帖子

80

积分

注册会员

积分
80
  • 66

    金币

  • 8

    主题

  • 18

    帖子

freddy星
注册会员   /  发表于:2022-7-5 12:35  /   查看:3437  /  回复:12
38金币
本帖最后由 freddy星 于 2022-7-5 15:29 编辑

我想把sqlserver的外联表,当中的历史数据,导入进我活字格自建的表当中。我使用的方法是页面分别建了2个表,”表格数据传递命令“和”提交表格“

现在提交表格时发现报错问题:
1、历史表中的时间有一些写的是24:00,提交表格时报错;“更新数据库失败,试图转换值24:00时失败”
2、历史表中有一些时间是错的,结束时间<开始时间。这种错误数据导进我活字格自建表去后,会出问题。这种情况该如何处理呢?怎样防止错误数据导入?

最佳答案

查看完整内容

抱歉,是我说的有问题,设置变量命令的话,需要循环所有记录,然后每次循环中,可以设置当前记录的结束时间为变量,和开始时间进行比较大小。对于这些数据可以删除,也可以新建一列,用于标记数据的有效性,在进行判断后给这一列赋值。 如果想要一次性筛选出所有数据,可以使用SQL命令处理,比如可以筛选出所有符合规则的记录,然后使用INSERT插入新表,参考1L大佬的回答。

12 个回复

倒序浏览
最佳答案
最佳答案
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-7-5 12:35:42
来自 13#
freddy星 发表于 2022-7-8 11:02
非常感谢。设置变量命令里面的多行记录添加列不太理解。要把结束时间开始时间添加列进去吗?设置变量命令 ...

抱歉,是我说的有问题,设置变量命令的话,需要循环所有记录,然后每次循环中,可以设置当前记录的结束时间为变量,和开始时间进行比较大小。对于这些数据可以删除,也可以新建一列,用于标记数据的有效性,在进行判断后给这一列赋值。
如果想要一次性筛选出所有数据,可以使用SQL命令处理,比如可以筛选出所有符合规则的记录,然后使用INSERT插入新表,参考1L大佬的回答。

评分

参与人数 1满意度 +5 收起 理由
freddy星 + 5

查看全部评分

回复 使用道具 举报
游斯如尘悬赏达人认证
初级会员   /  发表于:2022-7-5 13:52:51
2#
问题1没太理解是什么样的情况。如果是格式转化错误的话,可以对日期进行格式化之后再入库。

问题2可以使用sql进行对应的数据筛选
  1. select * from 表名称 where 结束时间<开始时间
复制代码


回复 使用道具 举报
freddy星
注册会员   /  发表于:2022-7-5 15:28:29
3#
游斯如尘 发表于 2022-7-5 13:52
问题1没太理解是什么样的情况。如果是格式转化错误的话,可以对日期进行格式化之后再入库。

问题2可以使 ...

历史表格里有些数据的时间是24:00,提交表格到数据库会报错,活字格的时间格式是0:00——23:59:59吧
回复 使用道具 举报
游斯如尘悬赏达人认证
初级会员   /  发表于:2022-7-5 16:41:35
4#
freddy星 发表于 2022-7-5 15:28
历史表格里有些数据的时间是24:00,提交表格到数据库会报错,活字格的时间格式是0:00——23:59:59吧

哦哦,那这样展示在表格上没问题吧。
可以单独设一个隐藏列,用 if 函数判断一下时间如果是24:00就转成00:00,然后数据提交的时候提交隐藏列就行啦
回复 使用道具 举报
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-7-5 16:43:21
5#
您好,您sqlserver中的时间字段是什么类型的呢,导入的话需要和活字格字段的的对应关系保持一致哦:
看完必恍然大悟的活字格内幕:二十三,不同数据库中字段类型的对应关系 - 活字格专区 - 专题教程 - 葡萄城产品技术社区 (grapecity.com.cn)
回复 使用道具 举报
freddy星
注册会员   /  发表于:2022-7-6 08:08:51
6#
Chelsey.Wang 发表于 2022-7-5 16:43
您好,您sqlserver中的时间字段是什么类型的呢,导入的话需要和活字格字段的的对应关系保持一致哦:
看完 ...

格式没问题,在表格是正常显示,就是提交表格到数据库会报错。
回复 使用道具 举报
freddy星
注册会员   /  发表于:2022-7-6 08:10:39
7#
游斯如尘 发表于 2022-7-5 16:41
哦哦,那这样展示在表格上没问题吧。
可以单独设一个隐藏列,用 if 函数判断一下时间如果是24:00就转成0 ...

表格显示没问题。能具体说说吗或者截图?1.隐藏列怎么跟我这列做关联?2.在哪设置IF函数?3.我是提交表格,那怎么提交隐藏列?
回复 使用道具 举报
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-7-6 10:16:09
8#
freddy星 发表于 2022-7-6 08:08
格式没问题,在表格是正常显示,就是提交表格到数据库会报错。

您可以用 Ctrl+Shift+左键 点击这里 将您的外联库转换为内置库,然后看下是否还能复现问题:

如果问题依然存在,说明是工程本身的问题,可以将转换后的工程文件发给我们;
如果不能复现问题,说明是数据库的问题,可以将数据库备份然后将工程和备份发给我们;
可以在上传附件的时候将权限设置为150(也就是超级版主用户组),这样就只有活字格技术人员可以浏览您的附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
freddy星
注册会员   /  发表于:2022-7-7 08:13:30
9#
Chelsey.Wang 发表于 2022-7-6 10:16
您可以用 Ctrl+Shift+左键 点击这里 将您的外联库转换为内置库,然后看下是否还能复现问题:

如果问题 ...

第一个问题解决了。第二个问题,就是很多数据有错误的,结束时间>开始时间,我导入进活字格表了已经。活字格的表里如何批量筛出来,并且修改呢?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部