我正在使用.net 3.5。我有一个数据库,我想运行查询。我正在使用数据适配器或SqlCommand来运行查询。但最终我想要按行和列式字符串数据的数据。这样做的方法是什么? 我的意思是如何从数据集中提取数据(这是由sqlDataAdapter返回的)?或者是否有其他方法解决这个问题?
答案 0 :(得分:3)
您应该查看DataSet课程。
DataSet dataset = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(
queryString, connection);
adapter.Fill(dataset);
您可以通过以下方法访问值:
DataSet.Tables["tableName"].Rows[rowIndex]["columnName"]
或者:
foreach(DataTable table in dataSet.Tables)
{
foreach(DataRow row in table.Rows)
{
foreach (DataColumn column in table.Columns)
{
//Do something with
row[column];
}
}
}
答案 1 :(得分:1)
好吧,你可以用廉价的方式使用foreach遍历DataSet中指定表中的Rows。
foreach(myDataSet.Tables [n] .Rows中的DataRow myRow){...}
编辑:一定是和其他人同时输入这个:)你想要字符串数据。您可能必须使用myRow [columnIndex] .ToString(),因为它将是某种类型的Object类型。
另外,如果您只需要数据库中的一个字符串,我可以建议您编写一个执行串联服务器端的查询,以及一个获取myDataSet.Tables [0]的包装函数.Rows [0] .ToString( );