怎样将采样时间插入到数据库中?

yunyunwuyi 2011-12-16 10:33:15
同志们,鄙人又遇到一事,之前曾发过一贴:“关于数据保存的问题?”http://topic.csdn.net/u/20111212/10/c1cdcf1b-7420-4e0b-8c97-743835df9162.html 此帖中问题已得到解决。不过,我又有一想法,我想在插入数据时,将采样时间也同时插入,在memo控件中,我已经实现了如下显示功能:
2011-11-15,09:12:13,U1=0.0000278V
2011-11-15,09:12:14,U2=0.0000233V
2011-11-15,09:12:15,U3=0.0000108V
2011-11-15,09:12:16,U4=0.0000042V
2011-11-15,09:12:17,U1=0.0000247V
U2=...
U3=...
U4=...
那么,日期和时间该做如何保存呢,我考虑了,结果没有思绪,还得麻烦大家出出主意啦!
或者说不采用我的做法,大家有没有更好的办法,将日期和时间插入数据库呢???
...全文
261 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhy 2011-12-19
  • 打赏
  • 举报
回复
是paradox吧
该图片仅限百度用户交流使用
yunyunwuyi 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 kaikai_kk 的回复:]
第1种方法,是把格式直接处理成SQL语法,直接插入到数据库中,
stringreplace是替换函数,就是把U1,U2..等等没用的东西替换掉成符合这个SQL语法,自己慢民体会
语法是:
insert into t(...)
select ... union all
...
select ... union all
select ...

这个帖子的问题,我是问你,下面这组数据,……
[/Quote]
或者我干脆这样说吧,现在,我的串口里面显示传输过来的数据如下:

那么,我想让它在paradox中保存成如下格式:

采样间隔是1秒,就是说1秒内采集了四个数据U1,U2,U3,U4,但串口里是一个一个数据有序循环排列显示的。有什么办法让采样时间也给加入到数据库里就行了。
唉,这个问题真麻烦,关键不是只存储数据,还要存储采样时间......
yunyunwuyi 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 kaikai_kk 的回复:]
第1种方法,是把格式直接处理成SQL语法,直接插入到数据库中,
stringreplace是替换函数,就是把U1,U2..等等没用的东西替换掉成符合这个SQL语法,自己慢民体会
语法是:
insert into t(...)
select ... union all
...
select ... union all
select ...

这个帖子的问题,我是问你,下面这组数据,……
[/Quote]
或者我干脆这样说吧,现在,我的串口里面显示传输过来的数据如下:

那么,我想让它在paradox中保存成如下格式:
http://hiphotos.baidu.com/yunyunwuyi/pic/item/9a75343033fa828becc314a8fd1f4134960a5a6d.jpg
采样间隔是1秒,就是说1秒内采集了四个数据U1,U2,U3,U4,但串口里是一个一个数据有序循环排列显示的。有什么办法让采样时间也给加入到数据库里就行了。
唉,这个问题真麻烦,关键不是只存储数据,还要存储采样时间......
kaikai_kk 2011-12-17
  • 打赏
  • 举报
回复
第1种方法,是把格式直接处理成SQL语法,直接插入到数据库中,
stringreplace是替换函数,就是把U1,U2..等等没用的东西替换掉成符合这个SQL语法,自己慢民体会
语法是:
insert into t(...)
select ... union all
...
select ... union all
select ...

这个帖子的问题,我是问你,下面这组数据,保存到数据库里面是怎么的?你写结果来出看看
2011-11-15,09:12:13,U1=0.0000278V
2011-11-15,09:12:14,U2=0.0000233V
2011-11-15,09:12:15,U3=0.0000108V
2011-11-15,09:12:16,U4=0.0000042V
yunyunwuyi 2011-12-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 funxu 的回复:]
不管是delphi,还是数据库都有日期格式化函数,传入规范字符串格式化即可
例如delphi FormatDateTime('hh:nn:ss',Now());
sql 里的
cast()
convert()
[/Quote]
2楼估计没有明白我的意思。我的意思是:采集仪器穿过来得数据是U1=...V U2=...V U3=...V U4=...V U1=...V U2=...V U3=...V U4=...V 目前,我已经实现了在memo控件中正常接收数据U1,U2,U3,U4,并在其前面加上了日期和采样时间的功能。在memo控件里显示形式如下:
2011-11-15,09:12:13,U1=0.0000278V
2011-11-15,09:12:14,U2=0.0000233V
2011-11-15,09:12:15,U3=0.0000108V
2011-11-15,09:12:16,U4=0.0000042V
2011-11-15,09:12:17,U1=0.0000247V
如果没有附带时间,日期的话,我可以将U1,U2,U3,U4保存四列到padadox中,但现在,我怎么将日期和时间也给加插入到数据库中呢?
cntigercat 2011-12-17
  • 打赏
  • 举报
回复
你也可以把日期时间转换成UNIX时间呀,在dateunit单元里。
Oraclers 2011-12-17
  • 打赏
  • 举报
回复
在数据库建一个Datetime类型字段,将日期时间合成一个字符串就可以,如: '2011-11-15 09:12:17'
也可以单独建立一个时间字段(用字符型,8位),然后将时间字符串存入就可。
funxu 2011-12-17
  • 打赏
  • 举报
回复
不管是delphi,还是数据库都有日期格式化函数,传入规范字符串格式化即可
例如delphi FormatDateTime('hh:nn:ss',Now());
sql 里的
cast()
convert()
yunyunwuyi 2011-12-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 kaikai_kk 的回复:]
padadox数据库,日期和时间是分开的,要用2个字段
不过你的数据有问题
2011-11-15,09:12:13,U1=0.0000278V
2011-11-15,09:12:14,U2=0.0000233V
2011-11-15,09:12:15,U3=0.0000108V
2011-11-15,09:12:16,U4=0.0000042V
这组数据,看到时间已经是不同……
[/Quote]
这里,我的日期是相同的,因为是同一天不同时刻采的样,比如说可能采样10分钟。保存到paradox当中,就是要日期和时间分开成两个字段保存,便于以后,既可以选择日期查询,又可以选择时间查询(因为可能拿不同采样日期的同一时间段数据来对比)
另外,(KAIKAI(开开一心)),你上一贴中给我提供的存储方法,第一种,我不太明白,可以再稍作说明么?不过,我采用第二种方法把问题解决了。呵呵...
kaikai_kk 2011-12-17
  • 打赏
  • 举报
回复
padadox数据库,日期和时间是分开的,要用2个字段
不过你的数据有问题
2011-11-15,09:12:13,U1=0.0000278V
2011-11-15,09:12:14,U2=0.0000233V
2011-11-15,09:12:15,U3=0.0000108V
2011-11-15,09:12:16,U4=0.0000042V
这组数据,看到时间已经是不同的.那日期是否相同?

保存到数据库中,就是1笔数据,那应该用那个日期,时间?????????

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧