`
文章列表
--创建测试表 create table t1(    id int,    txt varchar(30)) --插入测试数据 insert into t1 select 1,'aa,dd,f' UNION SELECT   2,'ddd,ff,rt,gg' union SELECT    3,'s,dddddee,d' union SELECT    4,'ty'   union SELECT    5,'hello,dderf,kii' union SELECT    6,'da,ddeff,ddd,d' select * from t1   --一行变多行的方法 selec ...
使用log4Net可以将系统听日志保存到DB、日志文件、邮箱中等,本文介绍这三种三方式。 生产关系log4Net的配置文件结构中下; <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="HR.Class.Log" type="HR.Class.Log.Config.HR.Class.LogConfigurationSectionHandler, ...
在sqlserver2005之前,要实现递归功能比较麻烦,比如可能会要用到临时表与while语句来循环。自sqlserver2005之后,新增了with as功能语法,即 公用表达式(CTE),让递归实现起来变的简单了。 本章我们主要演示如何利用with as功能实现一个简单的递归功能。 --开始实例演示-- 先创建一个仓库表,表名为Storage_Depository,该表有三个字段:DID(仓库编号),DName(仓库名称),PID(父仓库编号). 通过这样一个简单表,就可以将所有仓库信息,通过DID与PID字段来创建一个树型结构。 创建表的sql语句: Create tabl ...
此功能介绍:DataGridView频繁查询数据时,可以将每次查询到的数据结果保存到.xml文件中。并给用户提供前进、后退按钮操作.当用户想查看上一次的查询结果时,可直接从保存到的.xml文件中加载数据,提高查询速度。 /// <summary> /// DataGridView所在窗体功能前进与后退 ///文件格式: File$001.xml File$002.xml ///当前文件: File$003Cur.xml ///使用方法: /// 定义全局窗体级变量(以便各 ...
    大家在写查询时,为了性能,往往会在表后面加一个nolock,或者是with(nolock),其目的就是查询是不锁定表,从而达到提高查询速度的目的。 什么是并发访问:同一时间有多个用户访问同一资源,并发用户中如果有用户对资源做了修 ...
此种方法只对如下格式的INI文件起作用 server=localhost DataBase=pubs uid=sa pwd= /// <summary> /// GetDBcfg 的摘要说明。 /// 读取数据库配置文件 /// </summary> public class GetDBcfg { //文件路径 private string path = null; private ArrayList list = new ArrayList(); public GetDBcfg() { this.pat ...
首先在项目中引用     System.Drawing.Design;     System.Windows.Forms; 项目A: 说明:项目A要引用项目B using System.Drawing; using System.Drawing.Design; using System.Windows.Forms; namespace HR.Control { public class DataGridViewC:DataGridView { // ...
一、程序入口: using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; namespace HR.Control { /// <summary> /// 对集合类控件中的文本进行查找、替换的组件 /// </summary> public class SearchSelect { /// <summary> /// 查找文件的 ...
namespace HR.Class.IO { /// <summary> /// 对文件操作类 /// </summary> public class FileOperat { /// <summary> /// 删除指定文件 /// </summary> /// <param name="fileFullPath">要删除的文件路径</param> /// &l ...
  #region 加载文件夹及文件到树 /// <summary> /// 加载文件夹文件到树控件 /// </summary> /// <param name="Tv">TreeView</param> /// <param name="DirPath">要加载的文件夹路径</param> /// <param name="ImgList"& ...
好好学习,天天向上 多线程学习必读 http://www.cnblogs.com/leslies2/archive/2012/02/07/2310495.html#t1

转:C# Thread

    博客分类:
  • C#
http://www.cnblogs.com/finered/archive/2011/07/23/2114685.html 引言 1.理解多线程 2. 线程异步与线程同步 3.创建多线程应用程序 3.1通过System.Threading命名空间的类构建 3.1.1异步调用线程 3.1.2并发问题 3.1.3线程同步 3.2通过委托构建多线程应用程序 3.2.1线程异步 3.2.2线程同步 3.3BackgroundWorker组件 4.总结 引言 随着双核、四核等多核处理器的推广,多核处理器或超线程单核处理器的计算机已很常见,基于多核处理的编程技术也开始受到程序员们普遍关注。这其中 ...
  // Object.Equals和Object.ReferenceEquals方法 int A = 12; int B = 12; //比较的是两个对象的值是否相等 Console.WriteLine(Object.Equals((Object)A, (Object)B)); //比较A和B两个引用是否相等呢?很显然,A和B在装箱之后是两个不同的对象 Console.WriteLine(Object.Reference ...
昨天遇到的一个SQL面试题,感觉很有趣。 表名stu 结构如下 name km   fs 张三 语文 81 张三 数学 75 李四 语文 76 王五 英语 90 李四 数学 90 王五 语文 81 王五 数学 99 用SQL语句查询每门成绩都大于80的学生姓名 CREATE TABLE student ( s_id INT PRIMARY KEY IDENTITY, s_name VARCHAR(20), s_course VARCHAR(20), s_score DECIMAL(18,2) ) go INSERT INTO student ( ...
产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。 int[] intArr=new int[100]; ArrayList myList=new ArrayList(); Random rnd=new Random(); while(myList.Count<100) { int num=rnd.Next(1,101); if(!myList.Contains(num)) myList.Add(num); } for(int i=0;i<100;i++) intArr[i]=(int)myList[i];
Global site tag (gtag.js) - Google Analytics