• DataTable使用时的小问题


     1.在使用DataTable.Select()方法时,对其中的条件使用,我一直都没用到以时间为条件的.昨天,我要判断在select方法中判断日期是否相等,开始我是这样写的:DataTable.Select(" BeginDate="+Convert.DateTime(dt1.Rows[0]["StartDate"]+"");字段BeginDate是日期型,字段StartDate也是日期,应该相等吧.可程序调试到这时,总是出错.后来,在网上搜索了下,原来,使用日期为条件时,要在字段前后分别加上#这个符号.先前的DataTable.Select(" BeginDate="+Convert.DateTime(dt1.Rows[0]["StartDate"]+"");应改为:DataTable.Select("BeginDate="#+Convert.DateTime(dt1.Rows[0]["StartDate"]+"#");
     2.
    在对DataTable新增一行数据时,使用import方法犯的错.以前总觉得DataTable  Rows 集合的 Add 方法 DataTableImportRows方法可以互换,没什么不同的。直到今天,我在使用DataTableNewRow方法时,使用了DataTaleImportRows方法,发现数据没有加进来。于是,我就改用了DataTable.Rows.Add方法,这时,数据加入进来了。于是,我对DataTable.Rows.AddDataTable.ImportRows产生了疑惑。它们有什么不同呢?终于,在MSDN上找到这样一句话:当调用 NewRow 方法时,新创建的行实际上将从 DataTable 分离出来。要附加它,随后必须将它传递到 DataTable  Rows 集合的 Add 方法。所以,当使用NewRow时,只能使用DataTable.Rows.Add方法,不能使用ImportRows方法。数据从 DataTable 导入到另一个 DataTable 中时,且两个DataTable的数据结构相同,则用ImportRows方法好些。
      

    总结:1.使用DataTable的select方法,条件为日期时,要加#.
         2.使用DataTable的NewRow方法后,新加一行数据,只能使用DataTable.Rows.Add方法.

  • 相关阅读:
    一个可以用的句子
    QQ通讯协议分析
    do easy get
    WCF 实例模式和对象生命周期
    c# FTP操作类
    [OAuth] 翻译 前4章
    [OAuth] 翻译 第5章
    HttpRequest 生命周期
    [ WebGL系列 ] 1 什么webgl
    SQL Server 问题集 不断更新
  • 原文地址:https://www.cnblogs.com/xx_cs/p/3110888.html
Copyright © 2020-2023  润新知