博文

[转载] 微软SQL Server事务隔离级别实例简介(2013-01-23 21:37:00)

摘要: 数据库的事务隔离级别(TRANSACTION ISOLATION LEVEL)是一个数据库上很基本的一个概念。为什么会有事务隔离级别,SQL Server上实现了哪些事务隔离级别?事务隔离级别的前提是一个多用户、多进程、多线程的并发系统,在这个系统中为了保证数据的一致性和完整性,我们引入了事务隔离级别这个概念,对一个单用户、单线程的应用来说则不存在这个问题。 首先,我们来看一下高并发的系统中会存在哪些问题,为了便于理解我们以张三在招商银行的账号和存款为例。 一、准备工作: 1. 创建一个银行账号Table(只是为了说明问题,不考虑表的设计范式)
CREATE TABLE dbo.BankAccount
(
   BankAccountId CHAR(16)       NOT NULL, -- 银行账号
   UserName      NVARCHAR(32)   NOT NULL, -- 用户
   Balance       DECIMAL(19, 2) NOT NULL, -- 余额
   LastUpdate    SMALLDATETIME  NOT NULL
)
GO 2. 准备数据
INSERT INTO dbo.BankAccount
     VALUES ('9555500100071120', N'张三', 10000.00, GETDATE()) -- 北京分行账号
INSERT INTO dbo.BankAccount
     VALUES ('9555507551227787', N'张三', 20000.00, GETDATE())......

阅读全文(1623) | 评论:0

刘再复:欧洲游思(2013-01-07 08:58:00)

摘要: 编者按:2011年10月22日至11月7日,刘再复先生与家人朋友游览了中欧的德国、奥地利、瑞士和东欧的捷克、斯洛伐克、匈牙利,写下了《阅读欧洲七国》。他在小序中说:“我把自己的‘游记’称作‘游思’,便是因为游记中不仅有观感,而且还有阅读的联想与思索。”其中“德国阅读”和“列支敦士登阅读:小国亦有道有谋”已刊《文汇报》2012年3月2日的“笔会”版。
瑞士阅读:
自我保护的生存密码
这是很美的国家,到过瑞士的人恐怕都会有这种质朴的、直观的认识。在通往苏黎世的公路上,我观赏公路两边的山坡,这是阿尔卑斯山的山坡。山坡上有许多小屋,小屋周边的草坪之青翠和齐整,让人难以相信这是真的。“为什么能修整得如此齐整?”我问。导游说:瑞士的乡村有许多羊。羊除了可以用来挤奶之外,还可以租来吃草。羊是天生的草地“理发师”,它会把草地“吃”得整整齐齐。不到瑞士,真想不到羊还有这种本事,经它们的修剪,方知我们伟大的祖先发明“绿草如茵”一词,真是恰切极了。
瑞士是个最封闭的国家,又是最开放的国家。它很封闭,自我保护意识特别强。它的车辆、门窗、衣帽,甚至钉子与螺丝,都有自己特别的标准与型号,别的国家的同类用具很难取代。十九世纪之前的瑞士,只能给他国提供卫士。1879年法国大革命爆发时,护卫着路易十六的卫士与雇佣兵,共有四万人,他们都很勇敢,为国王而战死的官兵很多。路过琉森(Luceme)的时候,我们特别去观赏一座雕塑在大石壁上的睡狮像,那便是纪念这些卫士的纪念碑。瑞士人至今仍然崇敬这些失败但尽了天职的子弟。
经历中世纪和中世纪之后三四个世纪的贫穷,到了十九世纪,瑞士开始发展了。这个世界上最小的联邦国家(美国是最大的联邦国家),出现了一群很有智慧的精英,他们觉得自己的国家不可再安于贫穷,必须赶快崛起。精英们没有时间争论意识形态的问题,只是用全副心力寻找崛起的途径,经过寻找与思索,他们决定狠狠抓住“银行”、“钟表”、“钢铁”、“保险”四个大环节,思维格外明晰,目标极其明确,认定了就悄悄发展,“无情”发展。果然卓有成效,瑞士在二十世纪终于成了世界的金融中心、钟表中心、保险业中心。它的银行集中了人世间多少钱财,没有人能算得清,说得清。它的钟表举世无双,却是人人知......

阅读全文(1141) | 评论:0

C#从Excel导入数据后添加到数据方法[原创](2013-01-04 15:29:00)

摘要: using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
namespace ReadDataFromExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            string excelFile = @"excel文件路径";
            DataSet info = ImportExcel(excelFile);
            bool result = ToDataBase(info);
        }         private static DataSet ImportExcel(string strFileName)
        {
&n......

阅读全文(16461) | 评论:24

外部表不是预期的格式-excel(2013-01-04 13:05:00)

摘要: 在操作excel将数据从外部导入到数据库时, 刚开始操作的没有问题的,却报出了:“外部表不是预期的格式”错误信息。 仔细查看excel没有问题, 查阅资料,发现有人说:
解决方法:
用记事本打开你的excel文件,看看显示是否为乱码。
若是html代码,则表示你的excel文件格式不是标准的excel格式,才会提示“外部表不是预期的格式”的错误;
若是乱码,我这边测试是不会提示这个错误的,可以成功导入。

其实出现这个错误的原因是,你的Excel是从程序中导出的,并且是使用
Response的方式直接把html代码输出到Excel中的
其实是可以解决的,导出的时候使用Excel操作Api来导出就是标准格式
-----------------------------------------------------------------------------------------------------
遇到了这个问题,Response输出的EXCEL文件修改后上传更新时出错,
“外部表不是预期的格式”
解决方式:
1.用EXCEL另存为功能另存成标准格式XLS格式(Response导出的其实是网页文件)
我尝试了,果然成功了,虽然我的excel不是导出的html格式,但是,我认为还是excel本身在操作时,由于疏忽,导致了本身的问题。 ......

阅读全文(5499) | 评论:1

C# 导入EXCEL 报错外部表不是预期的格式错误(2013-01-04 13:05:00)

摘要: 错误经过:在读取Excel时,出现外部表不是预期的格式 错误原因1: 由于Excel 97-2003的连接格式与Excel 2010 的 不同造成。 以下是从网上摘抄原文 Excel “External table is not in the expected format.” . Question: I'm trying to read an Excel (xlsx) file using the code shown below. I get an "External table is not in the expected format." error unless I have the file already open in Excel. In other words, I have to open the file in Excel first before I can read if from my C# program. The xlsx file is on a share on our network. How can I read the file without having to open it first? Thanks string sql = "SELECT * FROM [Sheet1$]";  string excelConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathname + ";Extended Properties=/"Excel 8.0;HDR=YES;IMEX=1;/"";    using (OleDbDataAdapter adaptor = new OleDbDataAdapter(sql, excelConnection)) {  DataSet ds = new DataSet();  adaptor.Fill(ds);  }   Answers: "External table is not in ......

阅读全文(19124) | 评论:20

ASP.NET页面事件处理流程图(原创,请珍藏)(2012-12-22 18:54:00)

摘要: Process Page methods Page events Control methods Control events 方法作用 Start ProcessRequest 设置 System.Web.UI.Page 对象的内部服务器对象,如 System.Web.UI.Page.Context、System.Web.UI.Page.Request、System.Web.UI.Page.Response和 System.Web.UI.Page.Application 属性。 InitializeCulture 为页的当前线程设置 System.Web.UI.Page.Culture 和 System.Web.UI.Page.UICulture。 DeterminePostBackMode 返回使用 POST 或 GET 命令回发到页的数据的 System.Collections.Specialized.NameValueCollection。 OnPreInit 在页初始化开始时引发 System.Web.UI.Page.PreInit 事件。 PreInit 在页初始化开始时发生。 On......

阅读全文(2436) | 评论:2

如何控制你的嗔怒(2012-12-21 17:26:00)

摘要: 有人说,现在的世界是修罗世界。修罗的特性是什么?就是嗔心重。据佛经说,嗔心重的修罗,专喜与帝释斗争。所以斗争与嗔心有密切的关系。放眼观现实世间,不是每个角落都充满着斗争的气氛吗?因而,人心惶惶,社会不安,世界纷扰,确都由于众生嗔心重而来。真正欲得世界和平,社会安宁,人心喜乐,首当从对治嗔心起;而对治嗔心的特效药,就是佛说的忍辱波罗蜜。忍辱是对治嗔心的,所以先由一故事引发至忍辱上去。 罗睺罗尊者在家为佛之子,出家为佛弟子。未出家时,在王宫中,由于地位超越,享受优裕,因而养成他的特殊个性,每因小事而大发雷霆。及至出家以后,未证罗汉果前,习气未能尽除,仍常发动嗔心,不知什么叫做忍辱之道。佛陀明白了其中底细,觉得出家不能与道相应,实在是很可怜愍的,所以思有以感化之。 一个人在一个环境住久了,天天所接触的是同一人物,烦恼或者容易勃发;换一环境,心情舒畅了,烦恼也许要减少些。佛很能懂得这个道理,所以有一天,佛命罗睺罗到贤提精舍去住。尊者奉命就离开了原住的地方祗树给孤独园。没有过几天,佛陀外出托钵,归来经过尊者住处,就进去略事休息,嘱其打水洗足(佛制不论何人乞食,均赤足出)。洗足罢,佛就藉此机会,自尊者开示道:“你的意思怎样?现在这水还能作为食饮之用吗?” “不能!世尊!此水本来是清净的,拿它煮饭固然可以,拿它冲茶也是可以,用途是很大的;但经洗脚后,已呈染污,不能再做什么大的作用了!”尊老老老实实地这样回答。 “不错,你说得一点不错!可是你只知道水是这样,却不知道自己也是如此。你的内心原本也是极清净的,可以修道证果,但因常动嗔心,垢秽充满胸怀,将成圣的清净心蒙蔽得不能明见一切,一所以现在你虽出家做了沙门,但也没有什么大用了!”佛一方面对他这样说,一方面又命他将水倒出去。待尊者倒水后,将空盆持回,佛又借这因缘向他问道:“罗睺罗!你去倒水的时候,假定不经意,失手将盆跌落在地上打破了,在你的内心,觉得可惜否?” ......

阅读全文(1340) | 评论:1

忍辱法门有五种(2012-12-21 17:21:00)

摘要: 忍辱法门归结有五方面: 第一,生忍。每当被辱境到来之时,无法回避,无法抵抗,只好坚强起来,把它忍耐下去。但是心里感到烦恼,难以忍受,很是痛苦。 第二,力忍。对于辱境到来,不与它计较,用最大力量,退一步、让三分,把它压下去。古人云:“小不忍则乱大谋。”一心念佛名号,借佛号的威力,把忿恨之心缓解、安定下来,犹如以石压草。日常最好佛号不断,因佛号若断则嗔心易起。 第三,缘忍。当辱境现前,以智慧回光返照,修因缘观。回想为什么自己无故受辱、挨打、挨骂,必有前因方生今日之果。若无缘无故受侮辱,大都是前世因缘感招的恶果,今生随业受报。若能作受报想,作还债想,心中自然就将难忍受的辱境逆来顺受了、心甘情愿不生嗔恨心了。 第四,观忍。当辱境发生,用空观智慧来照察了知身心世界,一切诸法本来无我可得,我既然是无有的,哪里还有什么我被侮辱以及所辱的境界呢?这就是能空的我相与所空的辱境,二者既然完全是空的,所以中间的辱相,当然也是不可得的。这样观空,万恶的嗔恚心就无处发生了。 第五,慈忍。菩萨每逢辱境到来时,不但不生嗔恨心,反而发大慈悲心,哀怜悯念:“此人实在愚痴可怜,无理取闹,妄生枝节。现在对我毁辱,我能忍受以德报怨。如果对待别人任意毁辱,定受果报,种下被人毁辱的恶因。更严重的甚至发生人命伤残,受到法律制裁,将来亦遭因果报应。”因此菩萨兴起无缘大慈、同体大悲、方便教化,令他觉悟过来,知过必改,断恶修善重新作人。 缘忍、观忍和慈忍又统称为理忍。 菩萨修行发菩提心,一定要经过三难妙行的大关。 一、难行能行。人们做不到的难事,菩萨能做到。 二、难舍能舍。人们舍不得的生命、钱财,菩萨能舍得。 三、难忍能忍。人们忍受不了的逆境、恶缘,菩萨能忍受。《无量寿经》讲“清净如水,忍辱如地”。当受到外界的羞辱时,内心却能像大地一样安然承受。心不被外境所动,这需要很深的定功和心净如水的智慧。万事成功于忍。真的学佛人若能将逆境恶缘看作是诸佛菩萨化身成就我们忍辱波罗蜜的,让我们从凡夫直入佛地,通过身边的人示现善恶因缘来磨练我们的嗔心,以成就我们的道业。若能如此想,感恩尚恐不及,何来怨恨!古德讲“转烦恼成菩提,化火汤为清凉”即为此意。 纯印老人推己与人的菩萨精神,无不以众生为本,但愿......

阅读全文(1206) | 评论:1

ASP.NET 中配置节点SessionState的用法(2012-12-18 10:01:00)

摘要:这一段就是配置应用程序是如何存储Session信息的了。我们以下的各种操作主要是针对这一段配置展开。让我们先看看这一段配置中所包含的内容的意思。sessionState节点的语法是这样的: 
   
  <sessionState mode="Off|InProc|StateServer|SQLServer" 
   cookieless="true|false" 
   timeout="number of minutes" 
   stateConnectionString="tcpip=server:port" 
   sqlConnectionString="sql connection string" 
   stateNetworkTimeout="number of seconds" 
  /> 
   
   
  必须有的属性是 
   
  属性 选项 描述 
  mode 设置将Session信息存储到哪里 
   Off 设置为不使用Session功能 
   InProc 设置为将Session存储在进程内,就是ASP中的存储方式,这是默认值。 
   StateServer 设置为将Se......

阅读全文(2650) | 评论:1

C#多线程学习(六) 互斥对象(2012-12-04 10:39:00)

摘要: 如何控制好多个线程相互之间的联系,不产生冲突和重复,这需要用到互斥对象,即:System.Threading 命名空间中的 Mutex 类。 我们可以把Mutex看作一个出租车,乘客看作线程。乘客首先等车,然后上车,最后下车。当一个乘客在车上时,其他乘客就只有等他下车以后才可以上车。而线程与Mutex对象的关系也正是如此,线程使用Mutex.WaitOne()方法等待Mutex对象被释放,如果它等待的Mutex对象被释放了,它就自动拥有这个对象,直到它调用Mutex.ReleaseMutex()方法释放这个对象,而在此期间,其他想要获取这个Mutex对象的线程都只有等待。 下面这个例子使用了Mutex对象来同步四个线程,主线程等待四个线程的结束,而这四个线程的运行又是与两个Mutex对象相关联的。 其中还用到AutoResetEvent类的对象,可以把它理解为一个信号灯。这里用它的有信号状态来表示一个线程的结束。 // AutoResetEvent.Set()方法设置它为有信号状态 // AutoResetEvent.Reset()方法设置它为无信号状态 Mutex 类的程序示例:
Code using System; using System.Threading; namespace ThreadExample { public class MutexSample { static Mutex gM1; static Mutex gM2; const int ITERS = 100; static AutoResetEvent Event1 = new AutoResetEvent(false); static AutoResetEvent Event2 = new AutoResetEvent(false); static AutoResetEvent Event3 = new AutoResetEvent(false); static AutoResetEvent Event4 = new AutoResetEvent(false); public static void Main(String[] args)    { ......

阅读全文(926) | 评论:1