博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 75 下一页

2011年12月2日

摘要: 这个日志文件存放在程序的bin文件夹下得Debug中static private string logpathlog = AppDomain.CurrentDomain.BaseDirectory + "log.txt"; static public void writelog(string classname) { string path = logpathlog; if (!File.Exists(path)) { // Create a file to write ... 阅读全文

posted @ 2011-12-02 21:52 moss_tan_jun 阅读(370) 评论(0) 推荐(0) 编辑

摘要: 从《C#高级编程》了解到给线程传递参数有两种方式,一种方式是使用带ParameterizedThreadStart委托参数的Thread构造函数,另一种方式是创建一个自定义类,把线程的方法定义为实例的方法,这样就可以初始化实例的数据,之后启动线程。方式一:使用ParameterizedThreadStart委托如果使用了ParameterizedThreadStart委托,线程的入口必须有一个object类型的参数,且返回类型为void。且看下面的例子:using System;using System.Threading;namespace ThreadWithParameters{ ... 阅读全文

posted @ 2011-12-02 21:49 moss_tan_jun 阅读(11846) 评论(0) 推荐(0) 编辑

摘要: 例子:在A窗体【按钮】弹出 B窗体并且当B窗体关闭时判断是【确定】还是【取消】则可以在B窗体上加上DialogResult返回值。然后A窗体再进行判断。整个过程代码如下:A窗体 弹出 B窗体并且接收返回值代码:DialogResult dr = F.ShowDialog(); if (dr == DialogResult.OK) { //一些有意思的代码 } B窗体【取消按钮】代码:this.DialogResult = DialogResult.Cancel; this.Close(); B窗体【确定按钮】代码:this.DialogResult = Dial... 阅读全文

posted @ 2011-12-02 21:46 moss_tan_jun 阅读(5581) 评论(0) 推荐(0) 编辑

2011年11月26日

摘要: SqlDataAdapter.Update批量数据更新 使用SqlDataAdapter.Update可以方便地对数据库进行快速、批量数据更新。我们最常用的多条数据更新方法是使用循环多次执行SQL语句或存储过程,这样虽然方便,但由于连接和数据传递要在服务器和客户端多次来往,大大增加了整个过程的时间,当数据越大时越明显!下面对SqlDataAdapter.Update作个简单的演示介绍吧。测试环境:SqlServer2008+VS2010+WinXP1.建立测试数据库和表CREATE DATABASE [TEST]GOUSE [Test]GOCREATE TABLE [Student]( [SN 阅读全文

posted @ 2011-11-26 00:40 moss_tan_jun 阅读(4967) 评论(0) 推荐(0) 编辑

摘要: BEGIN TRANSACTIONBEGIN TRY -- YOUR SQL COMMITEND TRY BEGIN CATCH ROLLBACKEND CATCH 以上代码是在SQL SERVER 2008 中执行的. 在使用了TRY CATCH之后, 只要出现异常就会跑CATCH里面回滚. 代码更清晰了更像我熟知的C#异常处理. 阅读全文

posted @ 2011-11-26 00:35 moss_tan_jun 阅读(441) 评论(0) 推荐(0) 编辑

摘要: 游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。 正常面向集合的思维方式是: 而对于游标来说: 这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能. 同样的,在性能上,游标会吃更多的内存,减少可用的并发,占用宽带,锁定资源,当然还有更多的代码量…… 从游标对数据库的读取方式来说,不难看出游标为什么占用更多的资源,打个比方: 当你从ATM取钱的时候,是一次取1000效率更高呢,还是取10次100?既然游标这么“邪恶”,为什么还要学... 阅读全文

posted @ 2011-11-26 00:33 moss_tan_jun 阅读(270598) 评论(61) 推荐(111) 编辑

摘要: 语法格式:PATINDEX ( '%pattern%' , expression ) 返回pattern字符串在表达式expression里第一次出现的位置,起始值从1开始算。pattern字符串在expression表达式里没找就返回0,对所有有效的文本和字符串就是有效的数据类型。描述一下此函数的具体用法:1. PATINDEX ( '%pattern%' , expression )'%pattern%'的用法类似于 like '%pattern%'的用法,也就是模糊查找其pattern字符串是否是expression找到,找 阅读全文

posted @ 2011-11-26 00:29 moss_tan_jun 阅读(61087) 评论(3) 推荐(8) 编辑

摘要: Select stuff("abcdef",2,3,"ghijk")go结果:aghijkefstuff的功能:删除指定长度的字符串并在指定的起始点插入另一组字符STUFF( character_expression ,start ,length ,character_expression ) character_expression :操作的字符,start:删除和插入的起始点,length:删除的长度,character_expression :要插入的字符----------------------------------------------- 阅读全文

posted @ 2011-11-26 00:25 moss_tan_jun 阅读(748) 评论(0) 推荐(0) 编辑

摘要: --提取数字IFOBJECT_ID('DBO.GET_NUMBER')ISNOTNULLDROPFUNCTIONDBO.GET_NUMBERGOCREATEFUNCTIONDBO.GET_NUMBER(@SVARCHAR(100))RETURNSVARCHAR(100)ASBEGINWHILEPATINDEX('%[^0-9]%',@S)>0BEGINset@s=stuff(@s,patindex('%[^0-9]%',@s),1,'')ENDRETURN@SENDGO--测试PRINTDBO.GET_NUMBER(' 阅读全文

posted @ 2011-11-26 00:24 moss_tan_jun 阅读(1036) 评论(0) 推荐(0) 编辑

摘要: 人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。在对它们进行适当的优化后,其运行速度有了明显地提高!下面将从这三个方面分别进行总结:为了更直观地说明问题,所有实例中的SQL运行时间均经过测试,不超过1秒的均表示为(< 1秒)。---- 测试环境: 主机:HP LH II---- 主频:330MHZ---- 内存:1 阅读全文

posted @ 2011-11-26 00:18 moss_tan_jun 阅读(624) 评论(1) 推荐(1) 编辑

上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 75 下一页