Foxtable(狐表)用户栏目专家坐堂 → 狐爸 关于 日期型数据 0001-01-01


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

主题:狐爸 关于 日期型数据 0001-01-01

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


加好友 发短信
等级:五尾狐 帖子:1181 积分:8108 威望:0 精华:1 注册:2009/1/17 10:52:00
狐爸 关于 日期型数据 0001-01-01  发帖心情 Post By:2010/10/5 15:49:00 [只看该作者]


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

 

狐爸,关于日期默认值 0001-01-01 能不能改为 其它的...数据库认不了

 

 假如,本行的日期来源于上一行的日期,当上一行的日期为空值的时候,本引在引用的时候就是 0001-01-01,诚请狐爸能不能把默认值改掉...(我知道可以通过判断,加一些代码可以不引用 空白日期 0001-01-01,有时候总忘记)

所以老是出现 0001-01-01的日期值,出现错误  如果更改起来容易,还请改一改....

 


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

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/10/8 8:31:00 [只看该作者]

你是不是还没有升级啊?

我记得新版本没有这个问题啊。


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


加好友 发短信
等级:五尾狐 帖子:1181 积分:8108 威望:0 精华:1 注册:2009/1/17 10:52:00
  发帖心情 Post By:2010/10/9 8:20:00 [只看该作者]

早就升级了....


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/10/9 8:37:00 [只看该作者]

收到,有空我看看。

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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
  发帖心情 Post By:2010/11/9 10:43:00 [只看该作者]

0001-01-01 00:00
狐爸,这个日期为空的日期格式解决了吗?我刚下载11月8日版本还会出现这个啊,我保存时出现“对于造型说明无效的字符值"

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/11/9 11:14:00 [只看该作者]

自己改一下代码,如果上一行为空,就不要从上行集成值


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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
  发帖心情 Post By:2010/11/9 17:03:00 [只看该作者]

我这个不是从一个表的数据行来生成值的,代码大致如下:

我目前有一个表,想通过两个表中的“合同编号”对应关系来引用一个时间,另外想通过.RaiseDataColChanged()来更新,但一更新,另外一个数据源表中的合同还没有下达“内部生产预计完成时间”情况下,这面的表引出的时间格式即可 0001-01-01,然后保存时就会出错“对于造型说明无效的字符值”,请问我如何能避免这种问题呢?在哪部份能加判断不会更新这个空的时间值呢?

If e.DataCol.Name = "合同编号"
    Dim cmd As New SQLCommand
    Dim dt As DataTable
    Dim dr As DataRow = e.DataRow
    cmd.C
    cmd.CommandText = "SELECT * From {合同管理表} Where [内部生产单号] = '" & dr("合同编号")& "'"

    dt = cmd.ExecuteReader
    If dt.DataRows.Count > 0 Then
        dr("合同生产预计完成时间") = dt.DataRows(0)("内部生产预计完成时间")
    Else
    End If
End If


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/11/9 17:39:00 [只看该作者]

Dim v as Date = dt.DataRows(0)("内部生产预计完成时间")

if v >  #1/1/1911# Then
   dr("合同生产预计完成时间") = v

End if


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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
  发帖心情 Post By:2010/11/9 17:56:00 [只看该作者]

图片点击可在新窗口打开查看谢谢狐爸哦...果然好用...批量抄袭代码中...我要是学这行业的就好喽 ...


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/9 18:26:00 [只看该作者]

以下是引用ddlzq在2010-11-9 17:03:00的发言:

我这个不是从一个表的数据行来生成值的,代码大致如下:

我目前有一个表,想通过两个表中的“合同编号”对应关系来引用一个时间,另外想通过.RaiseDataColChanged()来更新,但一更新,另外一个数据源表中的合同还没有下达“内部生产预计完成时间”情况下,这面的表引出的时间格式即可 0001-01-01,然后保存时就会出错“对于造型说明无效的字符值”,请问我如何能避免这种问题呢?在哪部份能加判断不会更新这个空的时间值呢?

If e.DataCol.Name = "合同编号"
    Dim cmd As New SQLCommand
    Dim dt As DataTable
    Dim dr As DataRow = e.DataRow
    cmd.C
    cmd.CommandText = "SELECT * From {合同管理表} Where [内部生产单号] = '" & dr("合同编号")& "'"

    dt = cmd.ExecuteReader
    If dt.DataRows.Count > 0 Then
        dr("合同生产预计完成时间") = dt.DataRows(0)("内部生产预计完成时间")
    Else
    End If
End If

 

其实办法很多的,如果是你这样的要求,ExecuteScalar速度会快一点。

如:

 

If e.DataCol.Name = "合同编号"
    Dim cmd As New SQLCommand
    Dim dr As DataRow = e.DataRow
    cmd.C '数据源名称
    cmd.CommandText = "SELECT Max(内部生产预计完成时间) From {合同管理表} Where [内部生产单号] = '" & dr("合同编号") & "'"
    If cmd.ExecuteScalar() <> Nothing Then
        dr("合同生产预计完成时间") = cmd.ExecuteScalar()
    End If
End If

[此贴子已经被作者于2010-11-9 18:27:21编辑过]

 回到顶部
总数 11 1 2 下一页