DataTable知识点(1)

1.动态创建DataTable

System.Type ctype = System.Type.GetType("System.String");
            DataTable dt = new DataTable();
            dt.Columns.Add("字段名", ctype);
            dt.Columns.Add("字段名", ctype);
DataRow dr = dt.NewRow();

//dr赋值

dt.Rows.Add(dr);

2.DataTable compute 方法

public Object Compute(
string expression,
string filter
)


参数


expression
类型:System.String
要计算的表达式。
filter
类型:System.String
要限制在表达式中进行计算的行的筛选器。
返回值


类型:System.Object
Object,设置为计算结果。 如果该表达式计算得出 Null,则返回值将为即为 Value。 










expression 参数需要聚合函数。 例如,以下是合法表达式:


Count(Quantity)


但是以下表达式不合法:


Sum (Quantity * UnitPrice)


如果必须针对两列或多列执行操作,则应该创建 DataColumn,并将它的 Expression 属性设置为适当的表达式,然后针对结果列使用聚合表达式。 在这种情况下,假定有一个名为“total”的 DataColumn,并且 Expression 属性设置为:


"Quantity * UnitPrice"


Compute 方法的表达式参数将为:


Sum(total)


第二个参数 filter 确定在表达式中使用哪些行。 例如,如果该表包含名为“colDate”的日期列,则可用以下表达式限制这些行:


colDate > 1/1/99 AND colDate < 17/1/99


有关为这两个参数创建表达式的规则,请参见 DataColumn.Expression 属性。




实例:下面的示例针对标识号为五的销售人员,对名为“Total”的列的值求和。
private void ComputeBySalesSalesID(DataSet dataSet)
{
    // Presumes a DataTable named "Orders" that has a column named "Total."
    DataTable table;
    table = dataSet.Tables["Orders"];


    // Declare an object variable.
    object sumObject;
    sumObject = table.Compute("Sum(Total)", "EmpID = 5");
}


3.DataTable clear方法

清除所有数据的 DataTable

所有表中的所有行都被移除。 如果表中有任何将使子行孤立的强制子关系,则生成异常。

如果 DataSet 绑定到 XmlDataDocument,则调用 DataSet.Clear 或 DataTable.Clear 将引发 NotSupportedException 为避免这种情况,请遍历每个表,逐个移除每一行。 使用NewRow 创建新行时,必须先对这些行进行处理,然后再调用 Clear

实例:

private void ClearTable(DataTable table)
{
    try
    {
        table.Clear();
    }
    catch (DataException e)
    {
        // Process exception and return.
        Console.WriteLine("Exception of type {0} occurred.", 
            e.GetType());
    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值