5分钟了解javascript函数 ado.net支持什么数据库
创始人
2024-06-10 17:20:46
0

ADO.NET还是比较常用的,于是我研究了一下ADO.NET数据表,ADO.NET数据表(DataTable)是指内存数据表,在这里拿出来和大家分享一下,希望对大家有用。它包含一个表示该表的模式的列集合(ColumnsCollection)。一个数据表还包含有一个列集合(RowsCollection),表示该表所拥有的数据。它记得最初的的状态以及当前的状态,并跟踪已经发生的各种变化。要使用数据表,用户必须包含System.Data。

创建ADO.NET数据表

  1. DataTable有两个构造函数:  
  2. public DataTable()  
  3. public DataTable(string tableName) 

给ADO.NET数据表添加列

DataTable包含一个DataColumn对象集合。这个列集合定义了该表的结构。要给这个集合添加一个新列,可以使用这个集合的Add方法。在下面的例子中,我们使用ColumnsCollection类的Add方法,给一个数据表添加了3列;这种方法指定了ColumnName和DataType属性。

  1. DataColumn dc = null;  
  2. DataTable dt = new DataTable("test");  
  3. dc = dt.Columns.Add("CustID",System.Type.GetType("System.Int32") );          
  4. dc = dt.Columns.Add("CustomerNameLast", System.Type.GetType("System.String") );  
  5. dc = dt.Columns.Add("CustomerNameFirst", System.Type.GetType("System.String") );  
  6. dc = dt.Columns.Add("Purchases", System.Type.GetType("System.Double") ); 

DataTable上的ColumnsCollection的Add方法有两个重载(overload)函数:

  1. Public DataColumn Add(String columnname, Type type)  
  2. Public DataColumn Add(String columnname) 

表达式列

ADO.NET还允许用户创建和定义表达式列。ADO+中的表达式用于进行:过滤, 计算, 汇总列信息。要创建一个表达式列,需要将DataType属性设置为适合该表达式返回数值的类型;然后将Expression属性设为一个有效的表达式:

  1. DataColumn dc = New DataColumn;  
  2. dc.DataType = System.Type.GetType("System.Currency");  
  3. dc.Expression = "total * .086"

你还可以使用Add方法来创建一个表达式列。例如,下面的代码添加了一列,根据客户购买金额的10%计算折扣。这个表达式将名为“Purchases”的列乘以10%。

  1. DataColumn dc = New DataColumn;  
  2. dcdt.Columns.Add("rectg", System.Type.GetType("System.Double"), "total * 0.1"); 

当这个表加入数据后,这个列的数值将是total列中数值的10%

自动增量列

#T#DataColumn 的另一个特性是其能够作为自动增量列的能力。自动增量列在添加新列时,自动增加该列中的数值。要创建一个自动增量列,需要将这个列的 AutoIncrement属性设为真(true)。一旦设置了这个属性,该列开始时将使用该列的AutoIncrementSeed属性中定义的数值。在添加了一列后,自动增量列的数值将按该列的AutoIncrementStep属性中的数值作为步长递增。

  1. dc = dt.Columns.Add("CustID",System.Type.GetType("System.Int32") );  
  2. dc.AutoIncrement = true;  
  3. dc.AutoIncrementSeed = 1;  
  4. dc.AutoIncrementStep = 1

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...