将C#中的sql查询返回的数据转换为逐行和逐列的字符串数据

时间:2011-06-08 14:43:35

标签: c# sql-server-2005 ado.net

我正在使用.net 3.5。我有一个数据库,我想运行查询。我正在使用数据适配器或SqlCommand来运行查询。但最终我想要按行和列式字符串数据的数据。这样做的方法是什么? 我的意思是如何从数据集中提取数据(这是由sqlDataAdapter返回的)?或者是否有其他方法解决这个问题?

2 个答案:

答案 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( );