DataTable 添加列、设置主键、添加行、查询、更新

对于数据库的操作,资料太多,大家也比较熟悉。
但有时数据量较少,但更新频繁的变量操作,通常采用自定义结构,但自定义结构的可维护性和灵活性就比不上临时表,我们可以先用DataTable做为内存临时表,以数据库操作的方式灵活添加列、行,完成 主键设置、查询、更新等操作,还可以保存为xml文件。

假设在当前类作用域有全局对象

public   static  DataTable dtRefresh  =   new  DataTable();


我们在某个测试函数中添加下面的测试代码:

为了方便存储为xml文件,需要设置表名:

dtRefresh.TableName  =   " 刷新任务 " ;

为临时表添加表结构,既列名:

dtRefresh.Columns.Add( " 数量 " typeof ( int ));
dtRefresh.Columns.Add(
" 频率 " typeof ( int ));
dtRefresh.Columns.Add(
" 自动关闭延迟 " typeof ( int ));
dtRefresh.Columns.Add(
" Url " typeof ( string ));

设置其中一个列Url为主键:

DataColumn[] clos  =   new  DataColumn[ 1 ];
clos[
0 =  dtRefresh.Columns[ " Url " ];
dtRefresh.PrimaryKey 
=  clos;

为表添加一行测试记录:
注意:添加行时,应先声明行,在需要用时再赋予对象实体,这样的目的是为了突出每次添加新行时,只需赋予一个dtRefresh.NewRow()返回的对象即可,而不用重新声明一个行对象名。因为类操作是传引用,如果一个行对象名赋予一个表,再修改这个对象名的内容,表中内容会跟着修改,所以每次添加行时要重用行名但避免重用对象。

DataRow dr;
dr 
=  dtRefresh.NewRow();
dr[
" 数量 " =   100 ;
dr[
" 频率 " =   100 ;
dr[
" 自动关闭延迟 " =   100 ;
dr[
" Url " =   " http://www.baidu.com/ " ;
dtRefresh.Rows.Add(dr);

执行查询:

DataRow[] drArr  =  dtRefresh.Select( " Url = /'http://www.baidu.com//' " );

foreach  (var item  in  drArr)
{
    txb.Text 
+=  item[ " Url " ].ToString()  +  Environment.NewLine;
}

根据查询条件,更新记录:

DataRow[] drArr  =  dtRefresh.Select( " Url = /'http://www.baidu.com//' " );

drArr[
0 ][ " Url " =   " g.cn " ;

foreach  (var item  in  drArr)
{
    txb.Text 
+=  item[ " Url " ].ToString()  +  Environment.NewLine;
}

写入XML文件:

dtRefresh.WriteXml( @" d:/1.xml " );
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值