zjz
.net一些學習資料和文檔!
导航
博客园
首页
新随笔
联系
订阅
管理
统计
随笔 - 37
文章 - 7
评论 - 9
引用 - 0
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(1)
给我留言
查看留言
随笔分类
ASP.NET(12)
(rss)
C#(1)
(rss)
c++(14)
(rss)
javascript(2)
(rss)
UML
(rss)
感悟(2)
(rss)
随笔档案
2008年1月 (1)
2006年9月 (5)
2006年8月 (4)
2006年7月 (1)
2006年6月 (3)
2006年5月 (1)
2006年4月 (2)
2005年12月 (1)
2005年11月 (4)
2005年10月 (4)
2005年9月 (2)
2005年8月 (2)
2005年7月 (8)
文章分类
asp.net与c#(6)
(rss)
最新评论
阅读排行榜
1. 一个linux下c++程序(892)
2. VC数字图像处理编程(848)
3. vc动态装载动态库(532)
4. asp.net与javascript问题(427)
5. 动态加载用户控件(420)
评论排行榜
1. 自已的幾張圖片(4)
2. 一个封装的socket类(2)
3. VC数字图像处理编程(1)
4. 动态加载用户控件(1)
5. 一个简单的购物车(1)
一个linux下c++程序
1
#include
"
/ty_code/common/libyfun/libyfun.h
"
2
//
#include "libyfun.h"
3
#include
"
tjpro.h
"
4
#include
<
time.h
>
5
#include
<
stdio.h
>
6
#include
<
memory.h
>
7
#include
<
pthread.h
>
8
9
GBLPARAM gb;
//
公有变量
10
11
void
Init()
12
{
13
//
得到调试信息
14
15
gb.is_debug
=
1
;
16
gb.debug_level
=
3
;
17
strcpy (gb.log_file,
"
/ty/log/tjpro.log
"
);
18
19
}
20
21
int
gethour()
22
{
23
time_t timep;
24
struct
tm
*
p;
25
time(
&
timep);
26
p
=
localtime(
&
timep);
27
return
p
->
tm_hour;
28
29
}
30
31
int
datapro()
32
{
33
yCMysql da;
34
if
(
0
==
da.Login(
"
127.0.0.1
"
,
"
"
,
"
"
,
"
"
))
//
连接数据库
35
{
36
DEBUG(gb.is_debug,gb.debug_level,gb.log_file,
"
tjpro login db fail!!\n
"
);
37
return
0
;
38
39
}
40
char
sql[
500
];
41
memset(sql,
0
,
500
);
42
43
44
time_t m_ltime;
45
time(
&
m_ltime);
46
time_t m_btime;
47
time_t m_mtime;
48
m_btime
=
m_ltime
-
86400
;
49
m_mtime
=
m_ltime
-
300
;
//
显示0点前一天的日期
50
time_t m_tmtime;
51
m_tmtime
=
m_ltime
-
5184000
;
//
60天以前
52
53
//
删除60天以前的记录
54
sprintf(sql,
"
delete from tab_sxxrz where sjsj < %ld
"
,m_tmtime);
55
if
(da.QueryWrite(sql)
==
0
)
56
{
57
da.Logout();
58
DEBUG(gb.is_debug,gb.debug_level,gb.log_file,
"
tab_sxxrz QueryWrite %s fail!!\n
"
,sql);
59
return
0
;
60
}
61
62
memset(sql,
0
,
500
);
63
sprintf(sql,
"
delete from tab_dxbj where dxsj < %ld
"
,m_tmtime);
64
if
(da.QueryWrite(sql)
==
0
)
65
{
66
da.Logout();
67
DEBUG(gb.is_debug,gb.debug_level,gb.log_file,
"
tab_dxbj QueryWrite %s fail!!\n
"
,sql);
68
return
0
;
69
}
70
71
72
memset(sql,
0
,
500
);
73
sprintf(sql,
"
delete from tab_gkrz where tjsj < %ld
"
,m_tmtime);
74
if
(da.QueryWrite(sql)
==
0
)
75
{
76
da.Logout();
77
DEBUG(gb.is_debug,gb.debug_level,gb.log_file,
"
tab_gkrz QueryWrite %s fail!!\n
"
,sql);
78
return
0
;
79
}
80
81
memset(sql,
0
,
500
);
82
sprintf(sql,
"
delete from tab_kkbj where tjsj < %ld
"
,m_tmtime);
83
if
(da.QueryWrite(sql)
==
0
)
84
{
85
da.Logout();
86
DEBUG(gb.is_debug,gb.debug_level,gb.log_file,
"
tab_kkbj QueryWrite %s fail!!\n
"
,sql);
87
return
0
;
88
}
89
90
91
/**/
///
/统计开卡
92
memset(sql,
0
,
500
);
93
sprintf(sql,
"
select dwbh,count(dwbh) as kks from tab_kk where sfyx = 1 and kksj>=%ld and kksj<%ld group by dwbh
"
,m_btime,m_ltime);
//
统计0点以前24小时
94
if
(da.QueryRead(sql)
==
0
)
95
{
96
da.Logout();
//
关闭连接
97
DEBUG(gb.is_debug,gb.debug_level,gb.log_file,
"
tjpro QueryRead1 %s fail!!\n
"
,sql);
98
return
0
;
99
}
100
int
k
=
da.GetRowNum();
101
if
(k
>
0
)
102
{
103
char
temp[
1000
][
30
];
//
最高1000家网吧开卡
104
memset(temp,
0
,
1000
*
30
*
sizeof
(
char
));
105
for
(
int
i
=
0
;i
<
k;i
++
)
106
{
107
da.GetRow();
108
sprintf(temp[i],
"
%s,%s
"
,da.row[
0
],da.row[
1
]);
109
}
110
da.FreeResult();
111
for
(
int
j
=
0
;j
<
k;j
++
)
112
{
113
//
da.GetRow();
114
char
m_dwbh[
15
]
=
{
0
}
;
115
char
m_kks[
15
]
=
{
0
}
;
116
char
*
p
=
temp[j];
117
char
*
pt
=
temp[j];
118
while
(
1
)
119
{
120
if
(
*
p
==
'
,
'
)
121
{
122
*
p
=
'
\0
'
;
123
sprintf(m_dwbh,
"
%s
"
,pt);
124
p
++
;
125
pt
=
p;
126
}
127
else
if
(
*
p
==
'
\0
'
)
128
{
129
sprintf(m_kks,
"
%s
"
,pt);
130
break
;
131
}
132
else
133
p
++
;
134
135
}
136
137
138
if
(atoi(m_kks)
>
5
)
//
网吧开卡数大于5张不进行统计,并删除原来当天的报警项
139
{
140
memset(sql,
0
,
500
);
141
sprintf(sql,
"
delete from tab_kkbj where tjsj >= %ld and dwbh = %s
"
,m_btime,m_dwbh);
142
if
(da.QueryWrite(sql)
==
0
)
143
{
144
da.Logout();
//
关闭连接
145
DEBUG(gb.is_debug,gb.debug_level,gb.log_file,
"
tjpro QueryWrite %s fail!!\n
"
,sql);
146
return
0
;
147
}
148
continue
;
149
}
150
151
memset(sql,
0
,
500
);
152
sprintf(sql,
"
select dwbh from tab_kkbj where tjsj >= %ld and dwbh = %s
"
,m_btime,m_dwbh);
//
查询开卡报警表中是否有今天网吧记录
153
if
(da.QueryRead(sql)
==
0
)
154
{
155
da.Logout();
//
关闭连接
156
DEBUG(gb.is_debug,gb.debug_level,gb.log_file,
"
tjpro QueryRead2 %s fail!!\n
"
,sql);
157
return
0
;
158
}
159
if
(da.GetRowNum()
>
0
)
160
{
161
memset(sql,
0
,
500
);
162
sprintf(sql,
"
update tab_kkbj set kks = %s,tjsj = %ld where tjsj >= %ld and dwbh = %s
"
,m_kks,m_mtime,m_btime,m_dwbh);
163
if
(da.QueryWrite(sql)
==
0
)
164
{
165
da.Logout();
166
DEBUG(gb.is_debug,gb.debug_level,gb.log_file,
"
tjpro QueryWrite1 %s fail!!\n
"
,sql);
167
return
0
;
168
}
169
}
170
else
171
{
172
memset(sql,
0
,
500
);
173
sprintf(sql,
"
insert into tab_kkbj(dwbh,kks,tjsj) values(%s,%s,%ld)
"
,m_dwbh,m_kks,m_mtime);
174
if
(da.QueryWrite(sql)
==
0
)
175
{
176
da.Logout();
177
DEBUG(gb.is_debug,gb.debug_level,gb.log_file,
"
tjpro QueryWrite2 %s fail!!\n
"
,sql);
178
return
0
;
179
}
180
}
181
da.FreeResult();
182
}
183
}
184
185
186
/**/
/*
187
sprintf(sql,"select dwbh from tab_kk where kksj>%ld",m_btime);
188
if(da.QueryRead(sql) == 0)
189
{
190
da.Logout(); //关闭连接
191
DEBUG(gb.is_debug,gb.debug_level,gb.log_file,"tjpro QueryRead %s fail!!\n",sql);
192
return 0;
193
}
194
195
if(da.GetRowNum() > 0)
196
{
197
da.FreeResult();
198
memset(sql,0,500);
199
sprintf(sql,"insert into tab_kkbj(dwbh,kks,tjsj) select dwbh,count(dwbh) as kks,%ld as tjsj from tab_kk where kksj>%ld group by dwbh",m_ltime,m_btime);
200
if(da.QueryWrite(sql) == 0)
201
{
202
da.Logout();
203
DEBUG(gb.is_debug,gb.debug_level,gb.log_file,"tjpro QueryWrite %s fail!!\n",sql);
204
return 0;
205
}
206
}
207
*/
208
209
210
//
统计公卡日志
211
memset(sql,
0
,
500
);
212
sprintf(sql,
"
select sl from tab_tjpz where mc='gkcs'
"
);
213
if
(da.QueryRead(sql)
==
0
)
214
{
215
da.Logout();
//
关闭连接
216
DEBUG(gb.is_debug,gb.debug_level,gb.log_file,
"
tjpro QueryRead %s fail!!\n
"
,sql);
217
return
0
;
218
}
219
char
gkcs[
4
]
=
{
0
}
;
220
da.GetRow();
221
sprintf(gkcs,
"
%s
"
,da.row[
0
]);
222
da.FreeResult();
223
224
225
226
memset(sql,
0
,
500
);
227
sprintf(sql,
"
select kh,dwbh,count(kh) as sjcs from tab_sxxrz where sjsj>=%ld group by kh,dwbh
"
,m_btime);
228
if
(da.QueryRead(sql)
==
0
)
229
{
230
da.Logout();
//
关闭连接
231
DEBUG(gb.is_debug,gb.debug_level,gb.log_file,
"
tjpro QueryRead %s fail!!\n
"
,sql);
232
return
0
;
233
}
234
int
gk
=
da.GetRowNum();
235
if
(gk
>
0
)
236
{
237
char
tempgk[
200000
][
35
];
//
最高20万人次
238
memset(tempgk,
0
,
200000
*
35
*
sizeof
(
char
));
239
for
(
int
i
=
0
;i
<
gk;i
++
)
240
{
241
da.GetRow();
242
sprintf(tempgk[i],
"
%s,%s:%s
"
,da.row[
0
],da.row[
1
],da.row[
2
]);
243
}
244
da.FreeResult();
245
for
(
int
j
=
0
;j
<
gk;j
++
)
246
{
247
//
da.GetRow();
248
char
m_kh[
15
]
=
{
0
}
;
249
char
m_dwbh[
15
]
=
{
0
}
;
250
char
m_sjcs[
15
]
=
{
0
}
;
251
char
*
p
=
tempgk[j];
252
char
*
pt
=
tempgk[j];
253
while
(
1
)
254
{
255
if
(
*
p
==
'
,
'
)
256
{
257
*
p
=
'
\0
'
;
258
sprintf(m_kh,
"
%s
"
,pt);
259
p
++
;
260
pt
=
p;
261
}
262
else
if
(
*
p
==
'
:
'
)
263
{
264
*
p
=
'
\0
'
;
265
sprintf(m_dwbh,
"
%s
"
,pt);
266
p
++
;
267
pt
=
p;
268
269
}
270
else