c#中关于Dataset,datarow的数据访问问题

dt = (cdb.selectReader(sNumber)).Tables[0];
DataRow row = dt.Rows[0];
string x = row.ToString();
MessageBox.Show(x);
输出结果是system.Data.DataRow,不是我想要的结果。我想输出的是selectReader方法返回的数值。哪里写的有问题?

string x = row.ToString();这里调用的是DataRow.ToString,当然返回system.Data.DataRow,如果DataTable里只有一列,可以用string x = row[0].ToString();

DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链路。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-04-19
string x = row.ToString();

这里调用的是DataRow.ToString,当然返回system.Data.DataRow,

如果DataTable里只有一列,可以用

string x = row[0].ToString();追问

可以了,谢谢,那如果不只有一列该怎么办呢
而且我的DataRow row = dt.Rows[0];这句话有什么意义么

追答

dt.Rows[0]表示获取DataTable表中的第一行

row[0]表示获取这一行的第一列的值,第2列就是row[1]了

本回答被提问者采纳
第2个回答  2013-10-17
dt = (cdb.selectReader(sNumber)).Tables[0];
if(dt.row.count>0)
{
foreach(DataRow dr in dt.rows)
{
//这里输出你要的每行记录中的内容
}
}
第3个回答  2013-10-17
把问题描述的详细一点,你的方法是返回结果集还是一个数值?是不是 row[0][列名"].ToString()?

c#中关于Dataset,datarow的数据访问问题
string x = row.ToString();这里调用的是DataRow.ToString,当然返回system.Data.DataRow,如果DataTable里只有一列,可以用string x = row[0].ToString();DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,...

c#关于DataRow的用法
dset这个DataSet刚实例化,那来的表啊?DataSet dset = new DataSet();这句话是没问题的!你想这样drow = dset.Tables["idl"].Rows[0];的话你必须建一个表 DataTable dt=new DataTable("idl");dset.Merge(dt);这样你就有表了,但是还是没有行没有列,还要在表中自己加行加列!要不给我发...

C# 语法问题
foreach(DataRow row in ds.Tables[0].Rows)这句话有两个C#语法一个foreach一个DataRow row in ds.Tables[0].Rows,这是指遍历DataSet中第一个表中的每一行。下面的Int32.Parse(row["ID"].ToString())这种语句指,当遍历一行时把列为"ID"的这一个值取出来(行号、列号不就可以取到一个...

c#中dataset 数据查询问题
DataRow[] rows = 省份表.Rows[index].GetChildRows("关系名");\/\/根据下拉框的索引找出dataset中省份那一行,再根据那一行的主键获得城市表中的关联城市 DataTable dt = 城市表.Clone();\/\/建一张新表,将城市表的结构克隆一份给新表 foreach (DataRow row in rows)\/\/循环筛选出的城市 { dt....

C#关于DataSet,DataTable,DataRow 和DataColumn的区别和用法_百度知 ...
CaseSensitive 指示表中的字符串比较是否区分大小写。ChildRelations 获取此DataTable的子关系的集合。Columns 获取属于该表的列的集合。Constraints 获取由该表维护的约束的集合。DataSet 获取此表所属的DataSet。DefaultView 获取可能包括筛选视图或游标位置的表的自定义视图。HasErrors 获...

请教有关C#winform中DataSet的问题
DataSet是.Net DAO的数据集,说白了就是内存中一块专门用来存储你读取到的数据的空间,所以只能从数据库操作,将操作的结果填充到DataSet中去。要实现你的那个功能,需要遍历DataSet的DataTable,例如 DataSet ds = GetDataSet();\/\/这里写你自己获取数据的代码 DataTable dt = ds.Tables[0];DataTable...

C# 报错:“在将 varchar 值 'System.Data.DataRowView' 转换成数据...
listBox2.DisplayMember = "tname";listBox2.ValueMember = "tid";这俩个 有一个得强制类型转换

在C#中页面上怎么循环读取DataSet中的每个值
dataset里面存放的是datatable ,datatable里面存放数据。知道这个特性以后就可以用最容易理解的循环步骤来获取dataset中每一个值:1 循环dataset中的 datatable;2 在上述循环里面循环每个datatable的rows;3 在rows循环里面循环columns,从而获取dataset中每一个值。

C#关于DataSet,DataTable,DataRow 和DataColumn的区别和用法_百度知 ...
ds=new DataSet\/\/实例化一个DataTableDataTable dt=new DataTable();\/\/把dt添加到ds中ds.Tables.Add(dt);\/\/给dt添加两列dt.Columns.Add(new DataColumn("col1",typeof(string)));dt.Columns.Add(new DataColumn("col2",typeof(string)));\/\/给dt添加一行数据DataRow row=dt.NewRow(0;...

在C#中页面上怎么循环读取DataSet中的每个
dataset ds=new dataset;\/\/获取dataset的第一张table,取其他table只须改下标 datatable dt=ds.tables[0];\/\/遍历行 foreach(datarow dr in dt.rows){ \/\/遍历列 for(int i=0;i

相似回答