如何获取datatable的某个值

如何获取datatable的某个值,第1张

首先你要确定你的DataTable 里面是有数据

我不知道你的 Table里面是什么样的数据··ItemArray 返回 object [] 数组

你拿一个object 数组 去 ConverttoInt32()

你不报错我到觉得奇怪了 ··

如果是业务需要··那就要另外来写 toInt32() 对你的需要行不通

他只返回一个数字 而不是 int数组!

一般拿个ConverttoInt32(dtRows[1][2]) 就是这样了!

adaperFill(ds,'dt1');

adaperFill(ds,'dt2');

dataGridView1DataSource = dsTables[1];

/// <summary>

/// SQL Server 的数据库连接字符串

/// </summary>

private const String connString =

@"Data Source=localhost\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True";

/// <summary>

/// 用于查询的 SQL 语句

/// </summary>

private const String SQL =

@"

SELECT

TOP 3

ROW_NUMBER() OVER (ORDER BY SUM(SALE_MONEY) DESC) AS NO,

SALE_DATE,

SUM(SALE_MONEY) AS SUM_MONEY

FROM

SALE_REPORT

GROUP BY

SALE_DATE

ORDER BY

SUM(SALE_MONEY) DESC";

/// <summary>

/// 将数据读取到 DataSet 中

///

/// 这里演示了2种方式,一种是从数据库中读取,一种是从XML文件中读取

/// </summary>

public void ReadDataToDataSet()

{

ConsoleWriteLine("使用DataAdapter,将数据填充到DataSet中,然后脱离数据库,直接对DataSet进行处理。");

// 建立数据库连接

SqlConnection conn = new SqlConnection(connString);

// 创建一个适配器

SqlDataAdapter adapter = new SqlDataAdapter(SQL, conn);

// 创建DataSet,用于存储数据

DataSet testDataSet = new DataSet();

// 执行查询,并将数据导入DataSet

adapterFill(testDataSet, "result_data");

// 关闭数据库连接

connClose();

// 处理DataSet中的每一行数据

foreach (DataRow testRow in testDataSetTables["result_data"]Rows)

{

// 将检索出来的数据,输出到屏幕上

ConsoleWriteLine("NO:{0} ; Date:{1} ; Money:{2} ",

testRow["NO"], testRow["SALE_DATE"], testRow["SUM_MONEY"]

);

}

// 注意:

// 在通过 DataTable 的 WriteXml 方法来导出数据,给其他系统使用的时候

// 还需要使用 WriteXmlSchema 来导出 Schema

// 否则在使用 ReadXml 读取的时候, 会发生错误,因为新的 DataTable 不知道表的结构,不知道该如何去读取

// 除非你手动设置好每个列的字段/数据类型等信息,那么 DataSet 或者 DataTable 将能够理解如何倒入,而不在需要 ReadXmlSchema

ConsoleWriteLine("将 DataTable 的数据,写入到 XML 文件中。");

testDataSetTables["result_data"]WriteXmlSchema(DATATABLE_SCHEMA_XML_FILE);

testDataSetTables["result_data"]WriteXml(DATATABLE_XML_FILE);

ConsoleWriteLine("从 XML 文件中,读取数据到 DataTable 里面。");

DataTable newDt = new DataTable();

newDtReadXmlSchema(DATATABLE_SCHEMA_XML_FILE);

newDtReadXml(DATATABLE_XML_FILE);

// 处理DataSet中的每一行数据

foreach (DataRow testRow in newDtRows)

{

// 将检索出来的数据,输出到屏幕上

ConsoleWriteLine("NO:{0} ; Date:{1} ; Money:{2} ",

testRow["NO"], testRow["SALE_DATE"], testRow["SUM_MONEY"]

);

}

}

为什么你上面的都熟悉,却不熟悉datatable

datatable就是一张表

具体如下:

创建完dataset对象以后,就可以创建dataadapter对象来填充datatable对象在dataadpter对象上调用fill方法,然后指定想要填充的datatable对象

下面的代码使用名字薇da的dataadpter来填充dataset对象ds的authors表:

dafill(ds,"authors");

访问datatable:

在dataset对象中放置数据之后,就可以通过编程的方式访问数据如下面代码所示,每个dataset对象由一个或者多个datatable对象组成,就可以用名字或者顺序位置来指向这些datatable对象:

dstables["authors"];

或者

dstables[0];

datarow和datacolumn类是datatable类的主要组成部分可以使用datarow对象以及它的属性和方法来取出和计算datatable对象中的值

比如:

foreach(datacolumn col in dstables[0]columns)

{

lstitemsitemsadd(colcolumnname);

}

对在datatable对象中的行和列书面的计算允许在datatable对象中访问个别字段

比如,x是想访问的数据的行索引

dstables["authors"]rows[x][1];

dstables["authors"]rows[x]["fieldname"];

应该差不多了可以用了现在

其实你用着用着就会了

以上就是关于如何获取datatable的某个值全部的内容,包括:如何获取datatable的某个值、数据库查询结果放在datatable[1]中、C#中如何使用DataSet和DataTable接收从数据库传过来的值 详细代码 谢谢 (初学者)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9362832.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存