`
流星剑
  • 浏览: 94297 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DataView与DataRowView的用法

    博客分类:
  • .net
 
阅读更多
public void getData()
{
 SqlConnetion con=new SqlConnection"sever=.;database=;uid=;pwd=;") 
SqlCommand cmd=con.CreateCommand();
cmd.CmdText="";
DataSet ds=new DataSet();
DataAdapter da=new DataAdapter(cmd);
da.Fill(ds);
//方法一:
string text=ds.tables[0].Rows[0][1].ToString();
//方法二:
DataTable dt=ds.tables[0];
string text=dt.Rows[0][1].ToString();
//方法三:
DataTable dt=new DataTable();
dt.Load(ds);
string text=dt.Rows[0][1].ToString();
}
  DataRowView drv = bindPhoto().DefaultView[0]; Response.Write(drv.Row["photoUrl"].ToString());//页面输出图片的保存地址 DataView dv = new DataView(bindPhoto()); Response.Write(dv.Table.Rows[0][1].ToString()); DataRow[] dr = bindPhoto().Select(); foreach (DataRow r in dr) { Response.Write(r["photoUrl"].ToString()); }
 //创建和声明DataTable对象 DataTable total=new DataTable(); //给DataTable对象添加DataColumn对象 total.Columns.Add(new DataColumn("班组",typeof(string))); total.Columns.Add(new DataColumn("姓名",typeof(string))); total.Columns.Add(new DataColumn("学科",typeof(string))); total.Columns.Add(new DataColumn("成绩",typeof(int))); //声明DataRow对象 DataRow dr=total.NewRow(); //给DataRow对象中的各列赋值 dr["班组"]= "一班"; dr["姓名"]= " 李宏"; dr["学科"]= "语文 "; dr["成绩"]=98; //将DataRow对象添加到DataTable对象中 total.Rows.Add(dr); dr=total.NewRow(); dr["班组"]= "一班"; dr["姓名"]= " 刘京生"; dr["学科"]= "语文 "; dr["成绩"]=96; total.Rows.Add(dr); //创建DataView对象,DataView对象的数据从DataTable对象中获得 DataView dv=new DataView(total); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 一、将DataRowView对象添加进DataView对象中 DataRowView drv=dv.AddNew(); drv["班组"]= "一班"; drv[“姓名”]= “ 赵刚"; drv["学科"]= "语文 "; drv[“成绩”]=99; //结束编辑 可以调用DataRowView的CancelEdit()方法取消插入 Drv.EndEdit(); 二、修改现有的DataRowView对象 //开始编辑 dv[2].BeginEdit(); //修改列值 dv[2][“成绩”]=98; //对束编辑可以调用DataRowView的CancelEdit()方法取消修改 dv[2].EndEdit(); 利用DataRowView的IsNew和IsEdit属性来检测DataRowView是否为新行或是否被编辑过。 三、删除现有的DataRowView对象 //调用DataView的Delete()方法,传入要删除的DataRowView的索引值 dv.Delete(1); //调用DataRowView的Delete()方法删除 dv[1].Delete(); //调用DataTable的AcceptChanges()方法永久删除基础DataRow。 dt.AcceptChanges(); 要取消删除,可以调用DataTable的RejectChanges()方法取消删除,从而取消未提交的增加与修改
但是在取数据源中的值时,通常按以下做法两种都一样      
 //方法一
            //DataRowView drv = bindPhoto().DefaultView[0];
            //Response.Write(drv.Row["photoUrl"].ToString());//页面输出图片的保存地址
            //方法二 
            //DataView dv = new DataView(bindPhoto());
            //Response.Write(dv.Table.Rows[0][1].ToString());
            //方法三
            //DataRow[] dr = bindPhoto().Select();
            //foreach (DataRow r in dr)
            //{
            //    Response.Write(r["photoUrl"].ToString());
            //} 
            //方法四
            Response.Write(bindPhoto().Rows[0][1].ToString());
       
           如果数据源是DataSet类型的,可以通过以下方式取出相关字段
  public void test()
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["connStr"].ToString());
        SqlCommand cmd = con.CreateCommand();
        cmd.CommandText = "select * from 用户信息 ";
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        da.Fill(ds, "用户信息");
        //方法一
        string text = ds.Tables[0].Rows[0][1].ToString();
        Response.Write(text+"</br>");
        //方法二
        DataTable dt = ds.Tables[0];
        string text1 = dt.Rows[0][1].ToString();
        Response.Write(text);       
    }
 如果数据源是SqlDataReader类型,方法如下
 public void test2()
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["connStr"].ToString());
        SqlCommand cmd = con.CreateCommand();
        cmd.CommandText = "select * from 用户信息 ";
        SqlDataReader dr = cmd.ExecuteReader();
        //方法一
        if (dr.Read())
        {
            string text = dr["userName"].ToString();
            Response.Write(text + "</br>");
            dr.Close();
        }
        //方法二
        DataTable dt = new DataTable();
        dt.Load(dr);
        //以下步骤如上test()中      
    }
 
分享到:
评论

相关推荐

    Dataview转换成Datatable

    在IT领域,尤其是数据处理与分析中,Dataview与Datatable是两个常见的数据结构,它们各自具有独特的功能和用途。Dataview可以看作是Datatable的一个动态视图,它允许用户对数据进行筛选、排序、分组等操作而不会永久...

    DataView详解-+实例

    DataRowView[] foundRows = dataView.FindRows(new object[] { "Id", "Name" }, new object[] { 2, "Jane Doe" }); } ``` 以上实例展示了如何利用`RowFilter`来筛选数据,并通过`Find`和`FindRows`方法来查找特定...

    c#,execl导入dataview,导入SQL存储;

    4. 遍历DataView查询SQL:在DataView中,可以使用`DefaultView.ToTable()`方法将DataView转换为DataTable,然后遍历DataTable的每一行。对于每行数据,可以构造SQL查询语句,查询SQL表中特定列的数据。如果找到匹配...

    数据表方法

    总的来说,`DataView`和`RowFilter`为.NET开发人员提供了一种灵活、高效的方法,用于在内存中的`DataTable`上执行查询,尤其是在数据尚未写入数据库或者需要进行本地处理的情况下。这种技术不仅简化了代码,还提高了...

    数据集导出Excel .asp C# 源码

    它覆盖了从数据库查询数据、使用DataSet存储数据、使用DataView对数据进行视图管理、以及最终将数据导出到Excel文件等多个方面的知识。通过对这些知识点的学习,可以帮助开发者更好地理解和掌握基于.NET平台的数据...

    ADO.NET官方参考文档2021-09.pdf

    在2021-09版的官方参考文档中,主要关注了DataSet、DataTable、DataView这三个核心类的详细使用方法和注意事项。 **DataSet** 是数据在内存中的表示,它模拟了一个数据库,可以包含多个DataTable,以及DataTable...

    DataBinder.Eval总结

    下面将详细介绍 `DataBinder.Eval` 的使用方法、优势以及一些实际应用场景。 1. **基本格式** `DataBinder.Eval` 的基本使用格式有以下几种: - `(Container.DataItem,"字段名")%&gt;` - `(Container,"DataItem....

    TreeView的数据绑定

    为了使`TreeView`能够显示复杂的数据结构,我们通常会将其与数据库连接起来,并利用SQL查询获取所需的分层数据。 #### 二、代码解析 下面对给出的代码进行详细的解析: ##### 2.1 初始化数据库连接 ```csharp ...

    C#无限级绑定TreeView.txt

    - **数据库查询**:通过SQL语句`SELECT * FROM table`获取数据表中的所有列,并使用自定义方法`c.Gettable(sql)`返回一个`DataTable`对象。 - **过滤数据**:设置`DataView`的`RowFilter`属性为`"forad=0"`,意味...

    C#递归方法把数据表加载到treeview控件.pdf

    以上就是使用C#递归方法将数据表加载到TreeView控件的完整过程。递归方法使得我们可以轻松地处理任意深度的层级数据,同时通过事件处理程序(如`treeView1_AfterSelect`)可以方便地获取选中节点的相关信息,进而...

    一个用于多种类农作物植株航空影像的点监督计数算法数据集.zip

    (2)可以使用数据视图(DataView 对象)。数据视图是一个对象,它作为数据表之上的层,提供经过筛选和排序后的表内容视图。(还可以使用数据视图管理器,它的行为像数据视图集合。)数据视图类似于数据库中的视图,...

    一个快速制作语音数据集的可视化工具.zip

    (2)可以使用数据视图(DataView 对象)。数据视图是一个对象,它作为数据表之上的层,提供经过筛选和排序后的表内容视图。(还可以使用数据视图管理器,它的行为像数据视图集合。)数据视图类似于数据库中的视图,...

    机器学习房价预测数据集.zip

    (2)可以使用数据视图(DataView 对象)。数据视图是一个对象,它作为数据表之上的层,提供经过筛选和排序后的表内容视图。(还可以使用数据视图管理器,它的行为像数据视图集合。)数据视图类似于数据库中的视图,...

    基于MNIST数据集的手写数字识别系统.zip

    (2)可以使用数据视图(DataView 对象)。数据视图是一个对象,它作为数据表之上的层,提供经过筛选和排序后的表内容视图。(还可以使用数据视图管理器,它的行为像数据视图集合。)数据视图类似于数据库中的视图,...

    用于数据集各种标注格式转换的可视化操作工具.zip

    (2)可以使用数据视图(DataView 对象)。数据视图是一个对象,它作为数据表之上的层,提供经过筛选和排序后的表内容视图。(还可以使用数据视图管理器,它的行为像数据视图集合。)数据视图类似于数据库中的视图,...

    知识产权案例类案查询系统验证数据集.zip

    (2)可以使用数据视图(DataView 对象)。数据视图是一个对象,它作为数据表之上的层,提供经过筛选和排序后的表内容视图。(还可以使用数据视图管理器,它的行为像数据视图集合。)数据视图类似于数据库中的视图,...

    流量识别的研究过程中,处理好的数据集.zip

    (2)可以使用数据视图(DataView 对象)。数据视图是一个对象,它作为数据表之上的层,提供经过筛选和排序后的表内容视图。(还可以使用数据视图管理器,它的行为像数据视图集合。)数据视图类似于数据库中的视图,...

    数表控件,表数控件

    根据提供的信息,我们可以深入探讨“数表控件”这一主题,并从中提炼出一系列与之相关的IT知识点。 ### 数表控件概述 数表控件,通常是指在软件开发...对于开发者来说,掌握数表控件的设计和使用方法是非常重要的。

Global site tag (gtag.js) - Google Analytics