• 帮助
    • 博客
    • 相册
    • 网盘
    • 超市
    • Xer吧
  • 登录
  • 注册
【公告】关于网站取消无线业务的通告    【公告】个人空间首页新增“我的专辑”版块    【公告】X5dj广告过滤系统上线    【公告】关于调整网盘空间图片大小计算方法的通告    【公告】新功能“我的专辑”上线,珍藏属于你的美好回忆    【公告】X5dj网站网络硬盘用户使用协议    【公告】新增用户操作记录展示功能,帮助您更好的与朋友们互动    【公告】X5dj新功能汇总贴:新增“密码目录”功能上线    【公告】X5dj.com相册/网盘上传工具发布    
  • 菜心工作室
  • http://www.x5dj.com/qycost 复制地址
  • 首页

  • 博客

  • 相册

  • 网盘

  • 人际关系网

  • 我的专辑

更多..最新回复
  • ·对文件 最终计量.rar 的评价
  • ·免费注册活动
  • ·园林工程预算
  • ·心云公路造价系统
  • ·心云公路造价更新内容
更多..最热文章
  • ·免费注册活动
  • ·心云公路造价系统
  • ·心云造价不用注册也能完美打印的方法(公告)
  • ·心云公路造价更新内容
更多..更新的订阅
更多..更新的空间
  • ≮静雅轩≯ --- —菊香韵秋寒—
  • 蓦然一瞥
  • 葛遂元的个人空间 --- 汉字与电脑(识字查字打字法探讨)
  • ding.2006的个人空间 --- 春又如何?夏又怎样?都一样地流逝......
  • weixiaobao000的个人空间
  • hsywiw2008的个人空间
  • funny pancakes --- 费记饼屋
  • 小米的部落格 --- ---想你是临睡的习惯
  • qinbin282的个人空间 --- 原创文学空间
订阅此博客 
欢迎大家访问我的网站 07-17 13:16
菜心工作室旗下现有两大主力站点,欢迎大家参观访问: http://www.xycost.com为心云公路造价系统专用站点,主要提供与心云公路造价相关的资讯。 http://www.xycost.net为成工网,主要提供工程技术方面的资讯、技术资料、软件交流等方面的内容。 http://www.x5dj.com/qycost为本人博客。

菜心工作室旗下现有两大主力站点,欢迎大家参观访问:

http://www.xycost.com为心云公路造价系统专用站点,主要提供与心云公路造价相关的资讯。

http://www.xycost.net为成工网,主要提供工程技术方面的资讯、技术资料、软件交流等方面的内容。

http://www.x5dj.com/qycost为本人博客。

查看全文>> 浏览(238) 评论(3)
免费注册活动 07-09 16:24
为了更好的服务于广大公路造价人,免除软件公司垄断之苦。菜心工作室特推出心云公路造价系统免费注册活动, 第一种方式:凡在15个以上不同网站或论坛或群等推广心云公路造价软件即可得到作者的免费注册服务(如某论坛或网站已有人推广或者你的发贴太简单,可能你的推广不会被确认)。 第二种方式:如果你不想这么麻烦的话,可以将软件介绍给15位及以上的朋友,并将他们的机器码告知作者。 第三种方式:任何人只要在建筑人在线http://bbs.xycost.com发表主题帖子十贴以上(水贴、无价值贴、跟贴等不算)等即可通过QQ:435809415或MSN:qycost@hotmail.com获取注册...

为了更好的服务于广大公路造价人,免除软件公司垄断之苦。菜心工作室特推出心云公路造价系统免费注册活动,

  • 第一种方式:凡在15个以上不同网站或论坛或群等推广心云公路造价软件即可得到作者的免费注册服务(如某论坛或网站已有人推广或者你的发贴太简单,可能你的推广不会被确认)。
  • 第二种方式:如果你不想这么麻烦的话,可以将软件介绍给15位及以上的朋友,并将他们的机器码告知作者。
  • 第三种方式:任何人只要在建筑人在线http://bbs.xycost.com发表主题帖子十贴以上(水贴、无价值贴、跟贴等不算)等即可通过QQ:435809415或MSN:qycost@hotmail.com获取注册码,此注册码即永久有效,每个QQ或MSN仅限一台机器注册。

  • 第四种方式:个人用户赞助付费给作者,直接注册。QQ:435809415,MSN:QYCOST@hotmail.com(本无意对个人用户收费的,但有些朋友嫌上述方式麻烦,只好如此了)

  • 第五种方式:单位用户(可开具发票,个人推荐单位购买可获10%金额馈赠)需要可到以下地址购买:http://www.sharebank.com.cn/soft/soft_view.php?id=27350

前三种方式可混合使用,正式版推出后将只采用第五种或第四种方式。

查看全文>> 浏览(671) 评论(39)
心云造价不用注册也能完美打印的方法(公告) 06-19 18:28
为了更好的服务于广大公路造价人,免除注册的烦恼。特公告心云公路造价不用注册也能正常打印的方法:在报表中进入“报表编辑”中找到右下角的属性框,属性框中的"Watermark"即为水印选项,将其设置为“None",保存报表,再回到报表即为无水印的完美报表。请将这个方法互相转告。。
为了更好的服务于广大公路造价人,免除注册的烦恼。特公告心云公路造价不用注册也能正常打印的方法:在报表中进入“报表编辑”中找到右下角的属性框,属性框中的"Watermark"即为水印选项,将其设置为“None",保存报表,再回到报表即为无水印的完美报表。请将这个方法互相转告。。
查看全文>> 浏览(676) 评论(19)
免费推广活动 05-15 11:51
现心云造价软件推出免费推广活动(本活动将在正式版推出后结束): 现心云造价软件推出免费推广活动(本活动将在正式版推出后结束): 为了更好的服务于广大公路造价人,免除软件公司垄断之苦。菜心工作室特推出心云公路造价系统免费注册活动, 第一种方式:凡在10个以上不同网站或论坛等推广心云公路造价软件即可得到作者的免费注册服务(如某论坛或网站已有人推广或者你的发贴太简单,可能你的推广不会被确认)。 第二种方式:如果你不想这么麻烦的话,可以将软件介绍给10位及以上的朋友,并将他们的机器码告知作者。 第三种方式:任何人只要在建筑人在线http://bbs.xycost.com发...

现心云造价软件推出免费推广活动(本活动将在正式版推出后结束):

现心云造价软件推出免费推广活动(本活动将在正式版推出后结束):

  • 为了更好的服务于广大公路造价人,免除软件公司垄断之苦。菜心工作室特推出心云公路造价系统免费注册活动,



    • 第一种方式:凡在10个以上不同网站或论坛等推广心云公路造价软件即可得到作者的免费注册服务(如某论坛或网站已有人推广或者你的发贴太简单,可能你的推广不会被确认)。
    • 第二种方式:如果你不想这么麻烦的话,可以将软件介绍给10位及以上的朋友,并将他们的机器码告知作者。
    • 第三种方式:任何人只要在建筑人在线http://bbs.xycost.com发表帖子十贴以上(水贴、无价值贴、跟贴等不算)等即可通过QQ:435809415或MSN:qycost@hotmail.com获取注册码,此注册码即永久有效,每个QQ或MSN仅限一台机器注册。

    • 第四种方式:个人用户赞助付费给作者,直接注册。QQ:435809415,MSN:QYCOST@hotmail.com(本无意对个人用户收费的,但有些朋友嫌上述方式麻烦,只好如此了)

    • 第五种方式:单位用户(可开具发票,个人推荐单位购买可获10%金额馈赠)需要可到以下地址购买:http://www.sharebank.com.cn/soft/soft_view.php?id=27350


    正式版推出后将只采用第五种或第四种方式。

查看全文>> 浏览(493) 评论(4)
心云造价更新历史记录 05-10 21:43
0411更新包含调整商品砼,外购料不计其他费及间接费等功能,可以使用计算公式计算保险费等。0419更新内容:已根据定额站两次勘误表更新全部数据库,添加了大量定额附注的内容,如排水量调整,桩基桩径不同调整等。0424更新增加每日一贴,新增单价分析表及工序分析表,增加了油石比调整,增加了超级复制/粘贴功能。0510更新:增加了概预算模板,优化了计算及报表模板,运算速度及报表生成速度较原来大大加快。0512更新的:修改了部分报表,开放全部报表编辑功能。

0411更新包含调整商品砼,外购料不计其他费及间接费等功能,可以使用计算公式计算保险费等。0419更新内容:已根据定额站两次勘误表更新全部数据库,添加了大量定额附注的内容,如排水量调整,桩基桩径不同调整等。0424更新增加每日一贴,新增单价分析表及工序分析表,增加了油石比调整,增加了超级复制/粘贴功能。0510更新:增加了概预算模板,优化了计算及报表模板,运算速度及报表生成速度较原来大大加快。0512更新的:修改了部分报表,开放全部报表编辑功能。

查看全文>> 浏览(422) 评论(4)
心云公路造价系统 05-04 12:48
XYCOST0608.rar (17.59M) 登录后才能播放或下载一个真正免费、造价师自己制作的造价软件,界面超炫,操作更加人性化。独具定额逼近(目前暂未见有本程序如此智能化的)、清单定额任意粘贴(即不论任何数据源的清单如EXCEL或WORD均可粘贴,不需要另存为CSV文件),报表任意编辑(功能远超市场上任何一款软件,见过象Word一样修改报表么?),报表格式导出(PDF、WORD、EXCEL、图形、报表文件等8种格式)、全部可自动计算、完全解决m3上标显示功能。要知道以上功能新版同望可是一项也做不到哟。。需要2007版新定额软件的朋友现在可以免费下载我编制的软件了。注意只可用于学习研究目...

 XYCOST0608.rar (17.59M) 登录后才能播放或下载
一个真正免费、造价师自己制作的造价软件,界面超炫,操作更加人性化。独具定额逼近(目前暂未见有本程序如此智能化的)、清单定额任意粘贴(即不论任何数据源的清单如EXCEL或WORD均可粘贴,不需要另存为CSV文件),报表任意编辑(功能远超市场上任何一款软件,见过象Word一样修改报表么?),报表格式导出(PDF、WORD、EXCEL、图形、报表文件等8种格式)、全部可自动计算、完全解决m3上标显示功能。要知道以上功能新版同望可是一项也做不到哟。。需要2007版新定额软件的朋友现在可以免费下载我编制的软件了。注意只可用于学习研究目的,不要应用于商业目的。这个版本目前仅有2007公路预算定额,但全部报表都可打印。全部计算结果经多方验证正确无误。各位朋友可以打开我的项目文件夹下的示例文件查看数据及报表。下载地址http://www.xycost.com或http://www.x5dj.com/qycost网盘下。(建议先下载压缩版,如不能运行或提示要安装组件再下载程序组件及数据组件安装,部分用户可能要点菜单中的注册项)有任何问题请在我的主页http://www.x5dj.com/QYCOST 留言,我会集中回复的。我的愿望是让更多的人用上免费的软件,而不再受软件公司垄断之苦。。。我的目标是做造价师自己的软件。。。操作演示请看这儿:http://www.xycost.com/OperateDemonstrate.aspxSnap1  Snap2  Snap3

操作演示请看这儿:http://www.xycost.com/OperateDemonstrate.aspx

查看全文>> 浏览(1990) 评论(25)
史上最强的空姐!(乘客都被她给逼疯了……) 07-16 12:25
1、(登机中,空姐MM在机门口迎客,上来一位帅哥……) 空姐MM:“欢迎您登机,请问您是什么座?” 帅哥:“我是天蝎座,你呢!” 空姐(一脸害羞状):“真的嘛,好巧噢,我也是天蝎座耶……” 后面排队的乘客晕倒。 2、(登机完毕,广播响起……) 空姐:“女士们,先生们,欢迎乘坐本次航班,请您坐在跑道上,系好安全带,我们的飞机马上就要起飞了……”乘客暴寒…… 3、(飞机处于起飞状态中,轰鸣声甚大,空姐A与空姐B坐在头等仓闲聊……) 空姐A:“看,那个旅客的鼻毛露出来了,呵呵~” 空姐B:“听不见,你说什么?” 空姐A只好又大声重复了一遍,结果空姐B依...

1、(登机中,空姐MM在机门口迎客,上来一位帅哥……)
  空姐MM:“欢迎您登机,请问您是什么座?”
  帅哥:“我是天蝎座,你呢!”
  空姐(一脸害羞状):“真的嘛,好巧噢,我也是天蝎座耶……”
  后面排队的乘客晕倒。


  2、(登机完毕,广播响起……)
  空姐:“女士们,先生们,欢迎乘坐本次航班,请您坐在跑道上,系好安全带,我们的飞机马上就要起飞了……”乘客暴寒……


  3、(飞机处于起飞状态中,轰鸣声甚大,空姐A与空姐B坐在头等仓闲聊……)
  空姐A:“看,那个旅客的鼻毛露出来了,呵呵~”
  空姐B:“听不见,你说什么?”
  空姐A只好又大声重复了一遍,结果空姐B依然摇头示意听不见。
  这时,那名旅客走了过来,凑到空姐B耳边说:“小姐,她说我的鼻毛露出来了!”-_-!!


  4、(飞机终于“爬”上高空,进入平稳飞行状态,空姐开始送饮料……)
  “叮咚~”
  一名男乘客按响了呼唤铃。
  空姐:“先生,请问有什么需要帮助吗?”
  男乘客默然。(可能第一次坐飞机,他有点紧张。)
  空姐解释:“这是呼唤铃,如果有什么需要再按它,我们会及时帮助您!”
  乘客男点点头。
  可还没等空姐MM回到坐位,呼唤铃又响了。空姐MM回头一看,只见乘客男站起来,嘴对着呼唤铃大声喊到:“可乐~加冰~”
  空姐:……


  5、(空姐继送饮料中……)
  “太太,您好!请问要喝点什么吗?”
  中年女乘客不好意思地说:“不喝,不喝。”
  于是空姐小声地说:“免费的哦……”
  女乘客:“啊?免费的啊!我要一杯橙汁,一杯可乐,一杯咖啡,还要……”
  说完,这名女乘客想想,又从包里拿出一个瓶子说:“再给我灌点豆浆在里面!我要把飞机票喝回来。”
  空姐晕眩……


  6、(空姐打起精神继送饮料中……)
  空姐:“先生您是喝橙汁还是喝苹果汁?”
  旅客:“你们这儿的橙汁有苹果味儿的吗?”
  空姐继续晕眩中……


  7、(空姐扶墙送饮料中……)
  空姐:“您好,请问有什么可以帮您的吗?
  旅客:“能要一杯水吗?”
  空姐:“当然可以,矿泉水吗?”
  旅客:“有果汁吗?”
  空姐:“有,橙汁和桃汁请问需要哪一种?”
  旅客:“有可乐吗?”
  空姐:“有,需要加冰吗?”
  旅客:“那给我一咖啡吧!”
  空姐:@%$@^&×……


  8、(空姐MM手拿两咖啡回?客舱……)
  这时,一位旅客指着窗外问空姐:“小姐,这是什么湖啊?”
  空姐MM回答:“咖啡壶。”
  旅客晕眩中……


  9、(叮咚,呼唤铃又响了……)
  旅客:“小姐,有指甲剪吗?”
  空姐:“您当我是小叮当啊……”


  10、(机舱集体无语中,飞机平稳地飞行着,这时,广播里传来了机长愉快的声音……)
  “女士们,先生们,我是你们的机长,欢迎大家乘做本次航班,我想告诉大家的是…
  …啊!天哪!!”
  机长话说了一半,突然发出了一声KB的惊叫,之后,广播里就再没有声音了。这时,所有的乘客都吓话坏了,连空姐也害怕的不知所措,机舱内鸦雀无声……
  过了好一会,广播终于传来了机长的声音:“女士们、先生们,真对不起,让大家受惊了。发生了一点小小的意外,刚才乘务员给我到咖啡的时候,不小心把咖啡撒在了我的衬衣上,不信你们来看,都湿透了!”
  这时,机舱里响起一个乘客怒气冲天的抱怨声:“衬衫湿了算什么,你来看看我的裤裆!”
  机长晕眩中……


  11、(不知不觉,供餐时间又到了,空姐MM开始送食品……)
  空姐:“先生,我们有鸡肉米饭和鱼肉米饭,请问您吃哪种?”
  旅客:“排骨!”
  空姐:“先生,我们有鸡肉米饭、鱼肉米饭,请问您选哪种?”
  旅客:“排骨!”
  空姐(沉默片刻后):“我们有鸡排骨和鱼排骨,您吃哪种?”


  12、(空姐继续送饭中……)
  空姐:“鱼肉米饭和猪肉米饭请问要哪种?”
  旅客:“我们两个要猪,他要鱼!”


  13、(空姐继续晕眩送饭中……)
  空姐:“请问牛和鱼您喜欢哪种?”
  乘客:“好的,我要‘牛和’。”
  空姐:“是牛,和鱼。”
  乘客:“哦!那我要‘和鱼’。”


  14、(用餐完毕,空姐开始收餐盘……)
  一个旅客指着吃得干干净净的餐盘(连根菜叶都没剩下)抱怨道:“小姐,你们的餐食太差了,简直就是狗食!”
  空姐无语中……


  15、(大多数乘客都递上餐盘便于乘务员收取,而一名靠窗的乘客无动于衷,空姐MM伸手够不着,于是……)
  空姐:“先生,麻烦您把餐盘递一下好吗?”
  那名乘客傲慢地回答:“你是服务员,还是我是服务员?”
  空姐很礼貌地回答:“是的,先生!我是服务员,但我不是长臂猿!”

  16、(飞机飞临北京上空,准备降落中……)飞机落地前,空姐要做好签封工作,可是刚签封完就有一名旅客向空姐要可乐。
  空姐:“对不起,我们都‘封’了”。
  旅客怒答:“至于嘛!我就要个可乐,你们就疯啦?”
  空姐:……

  17、(飞机还在滑行中,旅客就已经都站起来拿行李了,为了安全,空姐又拿起了广播……)原本,空姐MM应该说:“女士们,先生们,我们的飞机还在滑行,请您坐好,并关闭头顶上方的行李架。”结果,她一着急广播成了:“女士们,先生们,我们的飞机滑得还行……”
  这时候,“叮咚~”内话机又响了,里面传来机长的声音:“谁夸我呢?”
  空姐崩溃中……

  18、(飞机终于停下了,空姐MM心里老想着赶班车去东直门肯德基餐厅和男友约会,于是广播又传来如下温馨提示……)“女士们,先生们,我们的飞机已经抵达首都北京东直门肯德基机场……再见~”
  旅客疯了……

查看全文>> 浏览(433) 评论(7)
精妙SQL语句整理(精华转载收藏) 06-25 09:42
一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [prima...

一、基础

1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、说明:删除新表
drop table tabname
6、说明:增加一个列
***** table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键: ***** table tabname add primary key(col)
说明:删除主键: ***** table tabname drop primary key(col)
8、说明:创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:create view viewname as select statement
删除视图:drop view viewname
10、说明:几个简单的基本的sql语句
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
11、说明:几个高级查询运算词
A: UNION 运算符
UNION  运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
B: EXCEPT 运算符
EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
C: INTERSECT 运算符
INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
12、说明:使用外连接
A、left outer join:
左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right outer join:
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
C:full outer join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。

二、提升

1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1<>1
法二:select top 0 * into b from a

2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;

3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件
例子:..from b in '"&Server.MapPath(".")&"data.mdb" &"' where..

4、说明:子查询(表名1:a 表名2:b)
select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3)

5、说明:显示文章、提交人和最后回复时间
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b

6、说明:外连接查询(表名1:a 表名2:b)
select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

7、说明:在线视图查询(表名1:a )
select * from (SELECT a,b,c FROM a) T where t.a > 1;

8、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 数值1 and 数值2

9、说明:in 的使用方法
select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’)

10、说明:两张关联表,删除主表中已经在副表中没有的信息
delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )

11、说明:四表联查问题:
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....

12、说明:日程安排提前五分钟提醒
SQL: select * from 日程安排 where datediff('minute',f开始时间,getdate())>5

13、说明:一条sql 语句搞定数据库分页
select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段

14、说明:前10条记录
select top 10 * form table1 where 范围

15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)
select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)

16、说明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重复行而派生出一个结果表
(select a from tableA ) except (select a from tableB) except (select a from tableC)

17、说明:随机取出10条数据
select top 10 * from tablename order by newid()

18、说明:随机选择记录
select newid()

19、说明:删除重复记录
Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)

20、说明:列出数据库里所有的表名
select name from sysobjects where type='U'

21、说明:列出表里的所有的
select name from syscolumns where id=object_id('TableName')

22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。
select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type
显示结果:
type vender pcs
电脑 A 1
电脑 A 1
光盘 B 2
光盘 A 2
手机 B 3
手机 C 3

23、说明:初始化表table1

TRUNCATE TABLE table1

24、说明:选择从10到15的记录
select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id desc

三、技巧

1、1=1,1=2的使用,在SQL语句组合时用的较多

“where 1=1” 是表示选择全部 “where 1=2”全部不选,
如:
if @strWhere !=''
begin
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere
end
else
begin
set @strSQL = 'select count(*) as Total from [' + @tblName + ']'
end

我们可以直接写成
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 安定 '+ @strWhere

2、收缩数据库
--重建索引
DBCC REINDEX
DBCC INDEXDEFRAG
--收缩数据和日志
DBCC SHRINKDB
DBCC SHRINKFILE

3、压缩数据库
dbcc shrinkdatabase(dbname)

4、转移数据库给新用户以已存在用户权限
exec sp_change_users_login 'update_one','newname','oldname'
go

5、检查备份集
RESTORE VERIFYONLY from disk='E:dvbbs.bak'

6、修复数据库
***** DATABASE [dvbbs] SET SINGLE_USER
GO
DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK
GO
***** DATABASE [dvbbs] SET MULTI_USER
GO

7、日志清除
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT


USE tablename -- 要操作的数据库名
SELECT @LogicalFileName = 'tablename_log', -- 日志文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 1 -- 你想设定的日志文件的大小(M)

-- Setup / initialize
DECLARE @OriginalSize int
SELECT @OriginalSize = size
FROM sysfiles
WHERE name = @LogicalFileName
SELECT 'Original Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
CREATE TABLE DummyTrans
(DummyColumn char (8000) not null)


DECLARE @Counter INT,
@StartTime DATETIME,
@TruncLog VARCHAR(255)
SELECT @StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'

DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)
AND (@OriginalSize * 8 /1024) > @NewSize
BEGIN -- Outer loop.
SELECT @Counter = 0
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
BEGIN -- update
INSERT DummyTrans VALUES ('Fill Log')
DELETE DummyTrans
SELECT @Counter = @Counter + 1
END
EXEC (@TruncLog)
END
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
DROP TABLE DummyTrans
SET NOCOUNT OFF

8、说明:更改某个表
exec sp_changeobjectowner 'tablename','dbo'

9、存储更改全部表

CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch
@OldOwner as NVARCHAR(128),
@NewOwner as NVARCHAR(128)
AS

DECLARE @Name as NVARCHAR(128)
DECLARE @Owner as NVARCHAR(128)
DECLARE @OwnerName as NVARCHAR(128)

DECLARE curObject CURSOR FOR
select 'Name' = name,
'Owner' = user_name(uid)
from sysobjects
where user_name(uid)=@OldOwner
order by name

OPEN curObject
FETCH NEXT FROM curObject INTO @Name, @Owner
WHILE(@@FETCH_STATUS=0)
BEGIN
if @Owner=@OldOwner
begin
set @OwnerName = @OldOwner + '.' + rtrim(@Name)
exec sp_changeobjectowner @OwnerName, @NewOwner
end
-- select @name,@NewOwner,@OldOwner

FETCH NEXT FROM curObject INTO @Name, @Owner
END

close curObject
deallocate curObject
GO


10、SQL SERVER中直接循环写入数据
declare @i int
set @i=1
while @i<30
begin
insert into test (userid) values(@i)
set @i=@i+1
end

小记存储过程中经常用到的本周,本月,本年函数
Dateadd(wk,datediff(wk,0,getdate()),-1)
Dateadd(wk,datediff(wk,0,getdate()),6)

Dateadd(mm,datediff(mm,0,getdate()),0)
Dateadd(ms,-3,dateadd(mm,datediff(m,0,getdate())+1,0))

Dateadd(yy,datediff(yy,0,getdate()),0)
Dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))

上面的SQL代码只是一个时间段
Dateadd(wk,datediff(wk,0,getdate()),-1)
Dateadd(wk,datediff(wk,0,getdate()),6)
就是表示本周时间段.
下面的SQL的条件部分,就是查询时间段在本周范围内的:
Where Time BETWEEN Dateadd(wk,datediff(wk,0,getdate()),-1) AND Dateadd(wk,datediff(wk,0,getdate()),6)
而在存储过程中
select @begintime = Dateadd(wk,datediff(wk,0,getdate()),-1)
select @endtime = Dateadd(wk,datediff(wk,0,getdate()),6)

最后,再补充一些:

分组group

  常用于统计时,如分组查总数:
select gender,count(sno)
from students
group by gender
(查看男女学生各有多少)

  注意:从哪种角度分组就从哪列"group by"

  对于多重分组,只需将分组规则罗列。比如查询各届各专业的男女同学人数 ,那么分组规则有:届别(grade)、专业(mno)和性别(gender),所以有"group by grade, mno, gender"

select grade, mno, gender, count(*)
from students
group by grade, mno, gender

  通常group还和having联用,比如查询1门课以上不及格的学生,则按学号(sno)分类有:

select sno,count(*) from grades
where mark<60
group by sno
having count(*)>1

  6.UNION联合

  合并查询结果,如:

SELECT * FROM students
WHERE name like ‘张%’
UNION [ALL]
SELECT * FROM students
WHERE name like ‘李%’

  7.多表查询

  a.内连接

select g.sno,s.name,c.coursename
from grades g JOIN students s ON g.sno=s.sno
JOIN courses c ON g.cno=c.cno
(注意可以引用别名)
b.外连接
b1.左连接
select courses.cno,max(coursename),count(sno)
from courses LEFT JOIN grades ON courses.cno=grades.cno
group by courses.cno

  左连接特点:显示全部左边表中的所有项目,即使其中有些项中的数据未填写完全。

  左外连接返回那些存在于左表而右表中却没有的行,再加上内连接的行。

  b2.右连接

  与左连接类似

  b3.全连接

select sno,name,major
from students FULL JOIN majors ON students.mno=majors.mno

  两边表中的内容全部显示

  c.自身连接

select c1.cno,c1.coursename,c1.pno,c2.coursename
from courses c1,courses c2 where c1.pno=c2.cno

  采用别名解决问题。

  d.交叉连接

select lastname+firstname from lastname CROSS JOIN firstanme

  相当于做笛卡儿积 

本文链接地址:http://www.busfly.cn/csdn/post/SQL-good-all.html

查看全文>> 浏览(177) 评论(0)
不用ClickOnce,做我们个性的自动更新功能 06-20 17:17
说到C#.NET的更动更新 大家都想到了ClickOnce,但很多时候它的功能并没有我们需要的足够的强大。其实它的原理很简单,为什么我们不自己开发一套呢?下面以我的开发实例与大家交流一下。原理:1.服务器有一虚拟目录Update,里面放置客户端的所有程序(由于IIS限制,不能升级.config文件,如需要则改IIS相应配置)2.Update目录里再放置一Default.aspx文件,用来取出当前文件夹下的文件列表和文件修改时间,并形成一个XML返回出来。3.客户端升级程序使用HttpWebRequest对象访问这个http://server/Update/Default.asp,并获得返回的X...
说到C#.NET的更动更新 大家都想到了ClickOnce,但很多时候它的功能并没有我们需要的足够的强大。其实它的原理很简单,为什么我们不自己开发一套呢?下面以我的开发实例与大家交流一下。

原理:
1.服务器有一虚拟目录Update,里面放置客户端的所有程序(由于IIS限制,不能升级.config文件,如需要则改IIS相应配置)
2.Update目录里再放置一Default.aspx文件,用来取出当前文件夹下的文件列表和文件修改时间,并形成一个XML返回出来。
3.客户端升级程序使用HttpWebRequest对象访问这个http://server/Update/Default.asp,并获得返回的XML。将XML解析后与本地文件时间比较,如果不同则下载。

代码:
(Update/Default.aspx文件)
<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>

<%
    SortedList FileList = new SortedList();
    string UpdatePath = AppDomain.CurrentDomain.BaseDirectory + "\\update\\";

        DirectoryInfo di = new DirectoryInfo(UpdatePath);
        foreach (FileInfo fi in di.GetFiles())
        {
           // 判断如果是Default.aspx则不下载到客户端
            if (fi.Name == "Default.aspx") continue;
            FileList.Add(fi.Name, fi.LastWriteTime.ToString());
        }

    string retValue = "<xml>";
    for (int i = 0; i < FileList.Count; i++)
    {
            retValue += "<row File='" + FileList.GetKey(i).ToString() + "' Date='" + FileList.GetValue(i).ToString() + "' />";
    }
    retValue += "</xml>";

    Response.Write(retValue);
%>

好,上面的代码很简单,就是获得服务器更新目录里的所有文件列表与文件的修改时间返回出来。

客户端检查更新的代码:
引用:
using System.Reflection;
using System.Collections;
using System.ComponentModel;
using System.Text;
using System.Xml;
using System.IO;
using System.Net;
using System.Collections.Generic;
using System.Threading;

全局变量:
private SortedList DirectoryList = new SortedList();
private int m_FileNum = 1;


// 函数fnDoUpdate
private void fnDoUpdate()
{
      try
        {
                HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://server/update/Default.aspx");
                HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
                Stream ReceiveStream = myResponse.GetResponseStream();
                Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
                StreamReader sr = new StreamReader(ReceiveStream, encode);
                Char[] read = new Char[256];
                string strResult = "";
                int count = sr.Read(read, 0, 256);
                while (count > 0)
                {
                    String str = new String(read, 0, count);
                    strResult += str;
                    count = sr.Read(read, 0, 256);
                }
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(strResult);
    // 这个Resource是自己定义的一个类  基本具有下面几个属性:Name,Url,LastModified 我就不定义了
                Resource tempResource;
                foreach (XmlNode xn in doc.SelectNodes("//row"))
                {
                    tempResource = new Resource();
                    tempResource.Name = xn.Attributes["File"].Value;
                    tempResource.Url = ClientConfiguration.AppServerUrl + "update/" + tempResource.Name;
                    tempResource.LastModified = Convert.ToDateTime(xn.Attributes["Date"].Value);
                    DirectoryList.Add(tempResource.Url, tempResource);
                }
// 好了 DirectoryList就是服务器的文件列表了 下面开始与本地文件进行比较了
                for (int i = 1; i <= DirectoryList.Count; i++)
                {
                    Resource currentResource = (Resource)DirectoryList.GetByIndex(i - 1);
                    string newFilePath = Application.StartupPath + "\\" + currentResource.Name;
// 删除掉时间相同的 因为不需要下载 这里用到了CheckDateTime函数是我们自己定义的 后面符带了
                    if (File.Exists(newFilePath) && CheckDateTime(currentResource.LastModified, LastModFromDisk(newFilePath)))
                        DownloadList.Remove(currentResource.Url);
               }

// 好了 到这里就得到了 我们需要更新的文件列表 DownloadList  开始下载了
// 下载过程的处理比较麻烦 使用多线程要出问题 我研究了很久想出这个办法
                m_FileNum = 1;  // 这个用来定位当前下载第几个文件
                progressBar1.EditValue = 0; //进度条规0
                progressBar1.Properties.Maximum = DownloadList.Count;
                StartDownload();
            }
      catch (Exception ex)
      {
              // 异常处理
       }
}

// 函数StartDownload 用于下载单个文件
        private void StartDownload()
        {
            try
            {
                Resource currentResource = (Resource)DownloadList.GetByIndex(m_FileNum - 1);
                string newFilePath = Application.StartupPath +"\\"+ currentResource.Name;
                if (File.Exists(newFilePath)) File.Delete(newFilePath);
                progressBar1.EditValue = m_FileNum ;
                WebClient client = new WebClient();
                client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
                client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
                Uri dUri = new Uri(currentResource.Url);
                client.DownloadFileAsync(dUri, newFilePath);
            }
            catch (Exception ex)
            {
                // 异常处理
            }
        }

// 下面二个事件 是WebClient对象的下载事件
        private void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs args)
        {
                // 要做得漂亮点 这里放些计算速度的 或时时显示下载进度的处理
               // 常用的有:args.ProgressPercentage 下载进度百分比 args.BytesReceived 已下载字节数
               // ts.TotalMilliseconds 总字节数
        }

        private void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs args)
        {
            Resource currentResource = (Resource)DownloadList.GetByIndex(m_FileNum - 1);
            string newFilePath = Application.StartupPath +"\\"+ currentResource.Name;
            // 将下载回来的文件修改时间更正 WebClient不会做这事只有我们来做了
            FileInfo f = new FileInfo(newFilePath);
            f.LastWriteTime = currentResource.LastModified;

            m_FileNum++;
            if (m_FileNum > DownloadList.Count)
            {
                    // 文件更新完成 这里写完成后的处理
            }
            else
            {
                // 没下完则继续下载下一个
                StartDownload();
            }
}

// 函数 LastModFromDisk 获取本地文件修改时间
  private DateTime LastModFromDisk(string filePath)
  {
   FileInfo f = new FileInfo(filePath);
   return (f.LastWriteTime);
  }


// 好了 到这里需要做的都写完了 下面是调用了 一定要用多线程来调用
                Thread t = new Thread(new ThreadStart(fnDoUpdate));
                t.Start();


好了,简单的自动更新功能就这么简单的完成了,你可以根据需要修改其中任意环节为自己想要的。
上面的代码是我在复杂的代码中把复杂的部分去掉了,也许你直接COPY过去用会编译不过,但我想
应该容易修改正确,希望大家多多指正。

大家不要置疑这思路的正确性,因为我开发的这段代码正在我公司的产品中使用,它的最大好处就是
我们可以随心所欲的修改下载的判断,或增加不同的需求。
查看全文>> 浏览(187) 评论(0)
超暴最NB的图片!笑不死人的话,就回帖 不看会后悔一辈子的 06-15 20:36
中国最牛的司机古罗马厕所 最牛的厕所最牛的奥迪天下有双。最牛的车牌最NB的部队最BT的地名最不注意形象的猎人最大胆的苍蝇最高的性骚扰最KB的耳洞最破烂的警车最危险的偷情腰最细的女人全世界最无耻的人最悬殊的爱最原始的内衣最牛的邮递员最享受的表情最穷的麦当劳最注意安全的出租车最夸张的安全套男人最想看穿的报纸最搞笑的地名最牛的车轮最痛的守门员最高难度的啦啦队最新款洋门神上课、开会最佳发型最有骨气的一句话.美人鱼之最最不老实的手最Y D的女追男最牛的自行车中国人最希望的事最新冲凉方法
中国最牛的司机







古罗马厕所 最牛的厕所



点击查看大图



最牛的



点击查看大图



奥迪
天下有双。最牛的车牌







最NB的部队







最BT的地名







最不注意形象的猎人







最大胆的苍蝇







最高的性骚扰







最KB的耳洞







最破烂的警车







最危险的偷情







腰最细的女人







全世界最无耻的人







最悬殊的爱







最原始的内衣







最牛的邮递员







最享受的表情







最穷的麦当劳







最注意安全的出租车







最夸张的安全套







男人最想看穿的报纸







最搞笑的地名







最牛的车轮







最痛的守门员







最高难度的啦啦队







最新款洋门神







上课、开会最佳发型







最有骨气的一句话



点击查看大图



.美人鱼之最







最不老实的手







最Y D的女追男







最牛的自行车







中国人最希望的事







最新冲凉方法




 
查看全文>> 浏览(345) 评论(4)
首页 上一页 1 2 3 4 5 下一页 尾页 共 5 页
关于我们 | X5dj动态 | 加入我们 | 友情链接 | 官方日志 | 免责声明 | 举报不良信息
北京开创明天科技有限公司 版权所有 京ICP证040979号