不用SQL语句查询DataTable中的数据【原创】

在实际编程工程中,常常遇到这样的情况:DataTable并不是数据库中的,或者DataTable尚未写到数据库,或者从数据库中读出的DataTable已经在本地被改动,又没有写回数据库(可能还要作其他改动),在这些情况下,要查询DataTable中的数据,强大的SQL语言就派不上用场了。

有些.NET程序员采取在数据库中建立临时表等方法来解决这类查询问题。而我觉得这种方法不可行,其实只要用.NET类库中提供的DataView类的强大功能(主要是用它的RowFilter属性),就能方便地解决这类查询问题。下面就举一个具体的例子,来说明如何不用SQL语句,用DataViewRowFilter属性来查询。

步骤一:建立一个C#ASP.NET项目。先编写一个生成DataTable的函数MakeDataTable(),代码如下:

       private DataTable MakeTable()

       {

           //生成DataTable

           System.Data.DataTable myDataTable = new DataTable("本地数据表");

           DataColumn myDataColumn;

           DataRow myDataRow;   

           //生成数据列 ID,商品名称,商品价格

           myDataColumn = new DataColumn();

           myDataColumn.DataType = System.Type.GetType("System.Int32");

           myDataColumn.ColumnName = "ID";

           myDataColumn.ReadOnly = true;

           myDataColumn.Unique = true;

           myDataTable.Columns.Add(myDataColumn);

 

           myDataColumn = new DataColumn();

           myDataColumn.DataType = System.Type.GetType("System.String");

           myDataColumn.ColumnName = "商品名称";

           myDataTable.Columns.Add(myDataColumn);

 

           myDataColumn = new DataColumn();

           myDataColumn.DataType =System.Type.GetType("System.Decimal");

           myDataColumn.ColumnName = "商品价格";

           myDataTable.Columns.Add(myDataColumn);

           

           //为数据表添加数据行

           myDataRow = myDataTable.NewRow();

           myDataRow["id"] = 1;

           myDataRow["商品名称"] = "足球";

           myDataRow["商品价格"] =57.5;

           myDataTable.Rows.Add(myDataRow);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值