运行到table.DefaultView.Sort= "mployeeCode asc";这里出现未将对象引用设置到对象的实例 错误

作者&投稿:典削 (若有异议请与网页底部的电邮联系)
Datatable的defaultview.sort排序功能可不可以转换数据类型!~

DataTable dt = new DataTable();
dt.Columns.Add("Sum");
DataRow dr = dt.NewRow();
dr["Sum"] = 1;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Sum"] = 2;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Sum"] = 3;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Sum"] = 4;
dt.Rows.Add(dr);
dr = dt.NewRow();
dt.Rows.Add(dr);
dt.DefaultView.Sort = "Sum ASC";
DataTable dtTemp = dt.DefaultView.ToTable();
dtTemp 即按你需要排序的表。
另外,虚机团上产品团购,超级便宜

DataTable 的原始输出格式可以透过DefaultView 属性来取得, DefaultView 属性本身就是DataView 对象 ;我们可以设定DefaultView 的属性来指定DataTable 的显示格式。如果预设的一个DefaultView 这个DataView 对象无法满足你的需求,我们还可以产生多个DataView 对象来制定多个数据显示外观。下表列出了DataView 对象的常用的属性及方法: 排序数据 要排序数据,可以使用DataView 对象的Sort 属性。Sort 属性是以字段做为排序的依据,其设定语法如下所示: DataView.Sort="字段一ASC|DESC [,...字段N ASC|DESC]" 下列范例指定了Members 这个DataTable 的DefaultView 的Sort 属性以UserId 做升幂排序: Sub Page_Load(Sender As Object, e As EventArgs) Dim strConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\InetPub\wwwroot\CR\CH05\MyWeb.mdb" Dim strComStr As String = "Select * From Members" Dim dscA As ADODataSetCommand = New ADODataSetCommand(strComStr, strConStr) Dim dsDataSet As DataSet = New DataSet() dscA.FillDataSet(dsDataSet, "Members") Dim dtTable As DataTable = dsDataSet.Tables("Members") 为了方 便使用而宣告的别名 Dim shtR As Short Response.Write("DataTable 中的原始资料:") For shtR=0 To dtTable.Rows.Count-1 直接抓出DataTable 中的数 据 Response.Write("顺序" & (shtR+1).ToString & " " & _ dtTable.Rows(shtR)("UserId") & " ") Next dtTable.DefaultView.Sort="UserId Asc" 设定DefaultView 的排序 条件 Response.Write("DataTable.DefaultView 的资料:") For shtR=0 To dtTable.DefaultView.Count-1 显示DataView 整 理的资料 Response.Write("顺序" & (shtR+1).ToString & " " & _ dtTable.DefaultView(shtR)("UserId") & " ") Next End Sub 我们可以利用DataView 的Rows 集合取回被DataView 对象整理过的数据,所以上述范例的执行结果如下所示: 筛选记录 要筛选记录,可以使用DataView 对象的RowFilter 属性以及RowStateFilter 属性。RowFilter属性可以利用比较运算子「」、「=」以及「Like」来过滤记录中的数据,其语法如下所示: DataView.RowFilter = "条件叙述" 下列范例设定DefaultView 的RowFilter 属性,只有台北县的记录会被显示出来: Sub Page_Load(Sender As Object, e As EventArgs) Dim strConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\InetPub\wwwroot\CR\CH05\MyWeb.mdb" Dim strComStr As String = "Select * From Members" Dim dscA As ADODataSetCommand = New ADODataSetCommand(strComStr, strConStr) Dim dsDataSet As DataSet = New DataSet() dscA.FillDataSet(dsDataSet, "Members") Dim dtTable As DataTable = dsDataSet.Tables("Members") Dim shtR As Short dtTable.DefaultView.RowFilter ="UserAdd Like 台北县%" Response.Write("住台北县的总共有" & _ dtTable.DefaultView.Count.ToString & " 人, 分别是: ") For shtR=0 To dtTable.DefaultView.Count-1 显示DataView 整理的 资料 Response.Write(dtTable.DefaultView(shtR)("UserName") & " ") Next End Sub 而RowStateFilter 属性则是以记录的状态来作筛选的条件。其使用语法如下所视: DataView.RowStateFilter = DataViewState.状态 可过滤的字段的状态如下表所示: 下列范例中删除了一笔记录,并且利用RowStateFilter 属性显示这笔被删除的记录: Sub Page_Load(Sender As Object, e As EventArgs) Dim strConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\InetPub\wwwroot\CR\CH05\MyWeb.mdb" Dim strComStr As String = "Select * From Members" Dim dscA As ADODataSetCommand = New ADODataSetCommand(strComStr, strConStr) Dim dsDataSet As DataSet = New DataSet() dscA.FillDataSet(dsDataSet, "Members") Dim dtTable As DataTable = dsDataSet.Tables("Members") 为了方便使用 dtTable.Rows(0).Delete() 删除DataTable 中的第一笔记录 Dim shtR As Short dtTable.DefaultView.RowStateFilter = DataViewRowState.Deleted Response.Write("被删除的使用者总共有" & _ dtTable.DefaultView.Count.ToString & " 人, 分别是: ") For shtR=0 To dtTable.DefaultView.Count-1 显示DataView 整理的资 料 Response.Write(dtTable.DefaultView(shtR)("UserName") & " ") Next End Sub 上述程序虽然删除了DataTable 中的第一笔记录,除非使用DataSetCommand 对象的Update方法将所作的更动更新回数据源,否则是不会影响数据源的数据状态。 搜寻数据 要搜寻DataTable 里面的数据,可以利用DataView 的Find 方法。如果Find 方法有找到符合的数据,则传回数据所在记录的Index 值;倘若没找到则传回-1。其使用语法如下所示: 变数= DataView.Find("要搜寻的字符串") 列范例可以在文字输入盒中输入数据,按下确定后利用Find 方法找寻使用者的数据,并显示数据所在记录的Index 值: 请输入所要查询的数据: 查询 Sub Button1_Click(Sender As Object, e As EventArgs) Dim strConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\InetPub\wwwroot\CR\CH05\MyWeb.mdb" Dim strComStr As String = "Select * From Members" Dim dscA As ADODataSetCommand = New ADODataSetCommand(strComStr, strConStr) Dim dsDataSet As DataSet = New DataSet() dscA.FillDataSet(dsDataSet, "Members") Dim dtTable As DataTable = dsDataSet.Tables("Members") dtTable.DefaultView.Sort="UserId" 必须要指定Sort 属性才可以搜 寻 Dim shtR As Short shtR=dtTable.DefaultView.Find(Text1.Value) 传回符合记录的 Index 值 If shtR = -1 Then 如果没找到就传回-1 Sp1.InnerText="没找到您所输入的数据" Else Sp1.InnerText="您所要找的资料在第" & shtR.ToString & " 笔记录" End if End Sub 产生自订的DataView 对象 如果一个DataView 对象不能满足我们的需求,我们还可以建立多个DataView 对象来制定数据的显示格式。其宣告语法如下所示: Dim 变量As DataView = New DataView(数据表) 下列范例中从同一个DataTable 中产生了两个自订的DataView 对象,并指定不同的数据排序方式: Sub Page_Load(Sender As Object, e As EventArgs) Dim strConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\InetPub\wwwroot\CR\CH05\MyWeb.mdb" Dim strComStr As String = "Select * From Members" Dim dscA As ADODataSetCommand = New ADODataSetCommand(strComStr, strConStr) Dim dsDataSet As DataSet = New DataSet() dscA.FillDataSet(dsDataSet, "Members") Dim dv1st As DataView = New DataView(dsDataSet.Tables(0)) Dim dv2nd As DataView = New DataView(dsDataSet.Tables(0)) dv1st.Sort = "UserId ASC" 指定依UserId 由小排到大的配置 dv2nd.Sort = "UserId DESC" 指定依UserId 由大排到小的配置 Dim shtR As Short Response.Write("dv1st 指定依UserId 由小排到大的配置:") For shtR=0 To dv1st.Count-1 显示DataView 整理的资料 Response.Write("顺序" & (shtR+1).ToString & " " & _ " -> " & dv1st(shtR)("UserId") & " ") Next Response.Write("dv2nd 指定依UserId 由大排到小的配置:") For shtR=0 To dv2nd.Count-1 显示DataView 整理的资料 Response.Write("顺序" & (shtR+1).ToString & " " & _ " -> " & dv2nd(shtR)("UserId") & " ") Next End Sub 我们可以将DataView 直接当成DataTable 来使用,因为DataView 的数据来源还是DataTable对象,所以我们对DataView 对象所执行的任何操作都会影响原来的DataTable 中的数据。下列范例显示修改DataView 中的数据对原来DataTable 对象的影响: Sub Page_Load(Sender As Object, e As EventArgs) Dim strConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\InetPub\wwwroot\CR\CH05\MyWeb.mdb" Dim strComStr As String = "Select * From Members" Dim dscA As ADODataSetCommand = New ADODataSetCommand(strComStr, strConStr) Dim dsDataSet As DataSet = New DataSet() Dim shtR As Short dscA.FillDataSet(dsDataSet, "Members") Dim dv1st As DataView = New DataView(dsDataSet.Tables(0)) Dim dv2nd As DataView = New DataView(dsDataSet.Tables(0)) dv1st.Sort = "UserId ASC" 指定依UserId 由小排到大的配置 dv2nd.Sort = "UserId DESC" 指定依UserId 由大排到小的配置 dv1st(0)("UserTEL")="1234567890" 修改其中一个DataView 的内容 Response.Write("观察原来DataTable 中的数据是否有改变:") For shtR=0 To dsDataSet.Tables(0).Rows.Count-1 DataTable 中的原来数 据 Response.Write("顺序" & (shtR+1).ToString & " " & _ " -> " & dsDataSet.Tables(0).Rows(shtR)("UserId") & " ") Next For shtR=0 To dsDataSet.Tables(0).Rows.Count-1 显示UserTel 字段的资 料 Response.Write("内容" & (shtR+1).ToString & " " & _ " -> " & dsDataSet.Tables(0).Rows(shtR)("UserTel")) Next Response.Write("dv1st 指定依UserId 由小排到大的配置:") For shtR=0 To dv1st.Count-1 显示DataView 整理的资料 Response.Write("顺序" & (shtR+1).ToString & " " & _ " -> " & dv1st(shtR)("UserId") & " ") Next For shtR=0 To dv1st.Count-1 显示UserTel 字段的资料 Response.Write("内容" & (shtR+1).ToString & " " & _ " -> " & dv1st(shtR)("UserTel")) Next Response.Write("dv2nd 指定依UserId 由大排到小的配置:") For shtR=0 To dv2nd.Count-1 显示DataView 整理的资料 Response.Write("顺序" & (shtR+1).ToString & " " & _ " -> " & dv2nd(shtR)("UserId") & " ") Next For shtR=0 To dv2nd.Count-1 显示UserTEL 字段的资料 Response.Write("内容" & (shtR+1).ToString & " " & _ " -> " & dv2nd(shtR)("UserTEL")) Next End Sub 上列范例码修改了dv1st 这个DataView 对象中第一笔记录的数据,其修改会影响原数据源;由于dv2nd 这个DataView 的资料来源也是从原DataTable 中取得,故dv2nd 的资料显示也受影响。

table.DefaultView.Sort= "mployeeCode asc"; 字段名是错的吧?
是哪个对象为空了?table?defaultview?


tabled是什么意思
tabled 英 ['teɪb(ə)l]美 ['tebl]n. 桌子;表格;平地层 vt. 制表;搁置;嵌合 adj. 桌子的 n. (Table)人名;(罗)塔布莱 [网络短语]tabled 被制表的 paper tabled 会上呈阅文件 tabled scarf 叠嵌接,榫接凹槽,迭嵌接 例句:I tabled this habit for a number of years...

table的中文翻译
table的中文翻译是桌子。作为名词的意思是桌子;表格;平地层。作为动词的意思是制表;搁置;嵌合。作为形容词的意思是桌子的。形态:过去式 tabled;过去分词 tabled;现在分词 tabling;第三人称单数 tables;复数 tables。词根助记:解析:tabl 木板 -> 木板做成的桌子 -> table 桌子。联想:tablet ...

table是什么意思英语
桌子。n.桌子,表格,平地层。vt.制表,搁置,嵌合。adj.桌子的n.(Table)人名,(罗)塔布莱。美式发音:\/_te_b_l\/,英式发音:\/_te_bl\/。各种形态:过去式,tabled。过去分词,tabled。现在分词,abling。第三人称单数,tables。复数,tables。例句:1、The data should finally be presented as ...

桌子用英语怎么说
桌子用英语表达为:table,解析如下:1、音标: 英 ['teɪbl]     美 ['teɪbl]2、意思:n. 桌子;台子;餐桌;一桌人;表格;目录;(竞赛的)排名榜 vt. 搁置;将 ... 放于桌上;提交讨论;列入表中 adj. 桌子的 3、词形变化:过去式: tabled 过去分词: tabled 现在分...

这几行iptables是什么意思?
是指系统内存修复 。。。着你都不知道啊

table是什么单词
Table Football 桌上足球 ; 足球台 ; 桌面足球 table wine 佐餐葡萄酒 ; 佐餐酒 ; 餐酒 ; 普通餐酒 例句:1、She was sitting at the kitchen table eating a peach.她正坐在餐桌旁吃着桃子。2、We will table that for later.我们将把那件事留到以后再讨论。3、They've tabled a motion ...

table怎么读
table 英[ˈteibl] 美[ˈtebəl] 过去式:tabled 过去分词:tabled 现在分词:tabling 复数:tables n.1.桌子; 台子; 几 2.同席的人, 在座的人, (就餐或玩牌等的)一桌人 3.食物, 餐食, 伙食 4.表格, 目录, 一览表 5.乘法表 6.(竞赛等的)名次表,排名榜,...

bleta组成什么单词?
bleta组成的单词是table.table单词发音:英 [ˈteɪbəl] 美 [ˈteɪbəl] 。一、table单词释义 adj. 桌子的 n. 桌子;表格;目录 v. 制表;把...置于桌上;提交;搁置 二、词形变化 动词过去式: tabled 动词过去分词: tabled 动词现在分词: tabling 动...

如何从一个DataTable中复制数据行到另一个DataTable中?
如何从一个DataTable中复制数据行到另一个DataTable中 DataTable dt = ""; \/\/这里是填充DataTable数据 DataTable dtNew = dt.Copy(); \/\/复制dt表数据结构 dtNew.Clear() \/\/清楚数据 for (int i = 0; i < dt.Rows.Count; i++){ if (条件语句){ dtNew.Rows.Add(dt.Rows[i]....

在EXCEL表格中TABLE(D3,D4)是什么意思?
意思是 假设 表格的 表头 横向 纵向数据代替原有数据 ,结果会是多少,常用于 运营分析 什么的 例如如下, 原来 B4 为1996,B5 为 2, 现分别假设 B4 为 1996 1838...多个值 B5 为 1-10 替换原来的 B4 ,B5 , 新的结果将 为多少 需要操作 数据里的 假设分析 的 DataTable...

海拉尔区13654484107: 怎么在mysql命令行执行一个sql文件 -
须符丁溴: mysql 命令导入sql进入mysql 安装所在的目录的子目录bin. 输入执行导入sql的命令. 例如: 你的mysql 安装在 d:\mysql 步骤如下:开始 -> 运行 -> 输入CMD D: cd mysql\bin mysql -u root -p123456 test <d:\a.sql 其中 root 为你的mysql管理员用户名, 123456 为密码 test为数据库名称 d:\a.sql 为备份下来的数据文件所在位置.

海拉尔区13654484107: sql数据库为表添加新列问题 -
须符丁溴: 因为该表应有数据了,你再加not null的列是不允许的,你只能先加列不限制not null,加上列后,先把新加列的数据补上,补完后再加not null约束

海拉尔区13654484107: linux 无法进入oracle用户 -
须符丁溴: 原因分析:1. 环境变量没配置正确 2. 建立用户的时候没有建立oracle用户家目录 解决方案: 1. 确认环境变量export PATH=$PATH:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/usr/local/bin: 2. more /etc/passwd|grep oracle 确认oracle HOME...

海拉尔区13654484107: 如何对oracle中某个库里的所有表添加同样的3个字段 -
须符丁溴: 1、创建测试用表test和test1 create table test (id int, name varchar2(10));create table test1 (id int, name varchar2(10)); 2、要为两个表同时增加id1和name1字段.使用代码:v_sql varchar2(2000); v_table_name varchar2(30); cursor c1 is select ...

海拉尔区13654484107: 数据结构的实验报告 .1、顺序存储结构下线性表的各种操作 2、链式存储结构下线性表的各种操作 -
须符丁溴: 顺序存储结构下线性表:#include <stdio.h>#include <stdlib.h>#define MAXSIZE 100 //存储定义 typedef int ElemType; typedef struct list { ElemType *elem; int listsize; int length; }Sqlist; void initlist_sq(Sqlist *L) //初始化线性表 { L->elem=(ElemType *...

海拉尔区13654484107: db2 存储过程 异常处理 -
须符丁溴: 存储过程异常的处理:DECLARE handler-type HANDLER FOR condition handler-action异常处理器类型(handler-type)有以下几种: CONTINUE 在处理器操作完成之后,会继续执行产生这个异常语句之后的下一条语句. EXIT 在处理器操...

海拉尔区13654484107: excel data table 在哪 -
须符丁溴: 一、DataTable简介(1)构造函数DataTable() 不带参数初始化DataTable 类的新实例.DataTable(string tableName) 用指定的表名初始化DataTable 类的新实例.DataTable(string tableName, string tableNamespace) 用指定的表名和命...

海拉尔区13654484107: asp.net 怎么使用web chart的控件 -
须符丁溴: 在ASP.NET中引用WebChart控件 使用WebControl创建图表, 支持渲染图片类型为(png, jpg, gif, etc). 控件支持:Line Charts Smooth Line Charts Column Charts Area Charts Scattered Charts Stacked Column Charts Pie Charts Stacked Area ...

海拉尔区13654484107: Excel有自毁程序吗 -
须符丁溴: 过我还是没有找到象你说的那样的程序逾期自毁程序指一些程序,如中文编辑软件CCED及WPS等,这类程序的使用有一定的日期 限制,一旦逾期,将提出警告并删除系统运行所必须的文件.显然这类程序给我们的日常应 用带来了诸多不便...

海拉尔区13654484107: 怎么管理oracle的表空间和数据文件 -
须符丁溴: SQL> conn sys/xin as sysdba 已连接. SQL> set wrap off SQL> set linesize 100 1. 一些基本的操作 (1) 查看表空间: SQL> select * from v$tablespace; (2) 查看数据文件: SQL> select * from v$datafile; (3) 查看tablespace 和data files之间的对...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网