仓酷云

标题: MSSQL教程之小议ADO.NET中的主动增量列 [打印本页]

作者: 灵魂腐蚀    时间: 2015-1-16 22:33
标题: MSSQL教程之小议ADO.NET中的主动增量列
“数据行级锁定”的意思是指在事务操作的执行过程中锁定正在被处理的个别记录,不让其他用户进行访问。这种锁定将影响到(但不限于)SELECT、LOCKINSHAREMODE、SELECT、FORUPDATE命令以及INSERT、UPDATE和DELETE命令。ado
   ADO.NET中经由过程DataColumn的3个属性来撑持主动增量列:AutoIncrement,AutoIncrementSeed,AutoIncrementStep。只需将DataColumn的AutoIncrement设置为True便可觉得DataTable的新行天生主动增量值。看个例子:
DataSetds=newDataset();
DataTabledt=ds.Tables.Add("Orders");
DataColumncol=dt.Columns.Add("OrderID",typeof(int));
col.AutoIncrement=true;
col.AutoIncrementSeed=-1;
col.AutoIncrementStep=-1;
col.ReadOnly=true;
下面OrderID列被设为主动增量,注重前面接上去两句,其值都被设为-1,个中有必定的缘故原由。 AutoIncrementSeed和AutoIncrementStep把持着怎样天生新值。当碰到空表时,ADO.NET会将存储在AutoIncrementSeed中的值赋给第一行主动增量列,接着AutoIncrementStep天生后续的主动增量值。

缘故原由:ADO.NET中天生的主动增量值仅仅是一个占位符,在数据库中会天生真实的新值,显现出来的仅仅是未提交给数据库的新行主动增量值,数据库大概会依据天生的值来天生分歧的值。AutoIncrementSeed和AutoIncrementStep都设为-1,能够确保天生的占位符值不会呈现在数据库。

以是在利用AutoIncrement的时分应将AutoIncrementSeed和AutoIncrementStep都设为-1。


刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、root帐户设置密码
作者: 再现理想    时间: 2015-1-17 12:40
是要和操作系统进行Socket通讯的场景。否则建议慎重!
作者: 简单生活    时间: 2015-1-20 19:08
入门没那么困难,精通没那么容易
作者: 乐观    时间: 2015-1-29 15:29
我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力
作者: 小妖女    时间: 2015-2-6 02:25
财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
作者: 若相依    时间: 2015-2-15 01:50
还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
作者: 愤怒的大鸟    时间: 2015-3-4 10:56
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
作者: 莫相离    时间: 2015-3-11 18:31
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
作者: 灵魂腐蚀    时间: 2015-3-19 07:39
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
作者: 山那边是海    时间: 2015-3-27 14:17
需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2