Foxtable(狐表)用户栏目专家坐堂 → 请教如何让狐表自动将日志表合并后供狐表调用


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

主题:请教如何让狐表自动将日志表合并后供狐表调用

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


加好友 发短信
等级:婴狐 帖子:34 积分:329 威望:0 精华:0 注册:2013/3/5 10:26:00
请教如何让狐表自动将日志表合并后供狐表调用  发帖心情 Post By:2013/6/5 12:39:00 [显示全部帖子]

请教一个问题,

 

我的SQL数据库中,每天都会生成 A20130605,A20130605。。。这样的日志表,如果一个一个的打开,又相当的麻烦,

有时候要把一个月的日志全部汇总在一个表中进行统计与分析,

在SQL中,

我是用

SELECT * FROM 日志1

union all

SELECT * FROM 日志2

union all

SELECT * FROM 日志3

.

.

.

 

这样的办法来把日志数据汇总的,我不想每次都手工去合并这些日志表

 

想请问一下,在狐表中可不可以做个自动统计,自动将每天的数据合并在一个数据表中,然后供狐表调用。。

 


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


加好友 发短信
等级:婴狐 帖子:34 积分:329 威望:0 精华:0 注册:2013/3/5 10:26:00
  发帖心情 Post By:2013/6/5 17:05:00 [显示全部帖子]

数据都是放在SQL的数据库的表中的。每天会生成一个新的日志表,以当天日期为表名称,类似于LOG20130605这样的,而不是放在文件夹中。

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


加好友 发短信
等级:婴狐 帖子:34 积分:329 威望:0 精华:0 注册:2013/3/5 10:26:00
  发帖心情 Post By:2013/6/18 9:51:00 [显示全部帖子]

请问一下,列出这个表名后,再怎么操作呢?

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


加好友 发短信
等级:婴狐 帖子:34 积分:329 威望:0 精华:0 注册:2013/3/5 10:26:00
  发帖心情 Post By:2013/6/18 9:53:00 [显示全部帖子]

以下是引用don在2013-6-5 17:07:00的发言:

列出外部数据源nwnd中的所有表名:

Dim lst As List(Of String)
lst = Connections("nwnd").GetTableNames
For Each
nm As String In lst
Output.Show(nm)

Next

这个表名列出来之后,怎么样调用呢?

我要做的操作是 select*from 表名

 

但你这个显示出来的表名,怎么跟SQL语句再联用呢?


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


加好友 发短信
等级:婴狐 帖子:34 积分:329 威望:0 精华:0 注册:2013/3/5 10:26:00
  发帖心情 Post By:2013/6/18 9:58:00 [显示全部帖子]

以下是引用Bin在2013-6-18 9:54:00的发言:
列出表名后你不就可以 循环拼接

SELECT * FROM 日志1

union all

SELECT * FROM 日志2

union all

SELECT * FROM 日志3


这段SQL了吗?

 

按楼上那位朋友的办法

 

列出外部数据源nwnd中的所有表名:

Dim lst As List(Of String)
lst = Connections("nwnd").GetTableNames
For Each
nm As String In lst
Output.Show(nm)

Next

 

只是显示出了表名,

 

但是,怎么在下面的SQL语句中,把表名一个一个的套上去呢?

 


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


加好友 发短信
等级:婴狐 帖子:34 积分:329 威望:0 精华:0 注册:2013/3/5 10:26:00
  发帖心情 Post By:2013/6/18 10:22:00 [显示全部帖子]

以下是引用Bin在2013-6-18 10:08:00的发言:
拼接字符串都不会,你应该再去看一遍帮助.

Dim lst As List(Of String)
lst = Connections("nwnd").GetTableNames
dim sql as string
For Each 
nm As String In lst
sql=sql & "
SELECT * FROM  " & nm & union all
Next

messagebox.show(sql.substring(0,sql.length-10))

Bin 老师,我是初学,确实有些不太懂。

这个在帮助里面是查哪里有呀?


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


加好友 发短信
等级:婴狐 帖子:34 积分:329 威望:0 精华:0 注册:2013/3/5 10:26:00
  发帖心情 Post By:2013/6/29 19:08:00 [显示全部帖子]

以下是引用菲舍尔在2013-6-28 22:31:00的发言:
Dim lst As List(Of String) =Connections("nwnd").GetTableNames
Dim cmd As new sqlcommand
cmd.c
For Each nm As String In lst
    Dim dt As DataTable
    cmd.commandtext="select * form ["& nm & "]"
    dt=cmd.ExecuteReader
    For Each dr As DataRow In Dt.Datarows
        For Each dc As DataCol In Dt.DataCols
            Dim r As Row = Tables("xxx").AddNew
            r(dc.name)=dr(dc.name)
        Next
    Next
Next

谢谢~!


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


加好友 发短信
等级:婴狐 帖子:34 积分:329 威望:0 精华:0 注册:2013/3/5 10:26:00
  发帖心情 Post By:2013/6/30 13:04:00 [显示全部帖子]

以下是引用菲舍尔在2013-6-28 22:31:00的发言:
Dim lst As List(Of String) =Connections("nwnd").GetTableNames
Dim cmd As new sqlcommand
cmd.c
For Each nm As String In lst
    Dim dt As DataTable
    cmd.commandtext="select * form ["& nm & "]"
    dt=cmd.ExecuteReader
    For Each dr As DataRow In Dt.Datarows
        For Each dc As DataCol In Dt.DataCols
            Dim r As Row = Tables("xxx").AddNew
            r(dc.name)=dr(dc.name)
        Next
    Next
Next


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


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

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


加好友 发短信
等级:婴狐 帖子:34 积分:329 威望:0 精华:0 注册:2013/3/5 10:26:00
  发帖心情 Post By:2013/6/30 14:09:00 [显示全部帖子]

Dim lst As List(Of String) =Connections("nine").GetTableNames
Dim cmd As new sqlcommand
cmd.C
For Each nm As String In lst
    Dim dt As DataTable
    cmd.commandtext="select * from ["& nm & "]"
    dt=cmd.ExecuteReader
    For Each dr As DataRow In Dt.Datarows
        For Each dc As DataCol In Dt.DataCols
            Dim r As Row = Tables("xxx").AddNew
            r(dc.name)=dr(dc.name)
        Next
    Next
Next

 

 

 

第一行的代码,我改了一下,不提示出错误了,但是,后面这句Dim r As Row = Tables("xxx").AddNew ,这里面的XXX 是什么意思呀?


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


加好友 发短信
等级:婴狐 帖子:34 积分:329 威望:0 精华:0 注册:2013/3/5 10:26:00
  发帖心情 Post By:2013/7/1 11:03:00 [显示全部帖子]

以下是引用菲舍尔在2013-6-30 16:12:00的发言:

图片点击可在新窗口打开查看

上面的错误,明显是拼写错误了,你们要学会判断错误的类型,这么简单的错误,应该一下就判断出来了

 

或者用狐表的精灵功能,也可以轻松解决,cmd.connectionname 写错成 cmd.connextionname

 

 

谢谢老师的指点,但我出了新问题啊,程序的代码执行后,结果成下面的了

数据全部错位,而且,还间隔很多。上图说话

 

 


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

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

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