gpt4 book ai didi

c# - SQL Server存储过程读取数据表的方法

转载 作者:太空狗 更新时间:2023-10-30 01:36:12 24 4
gpt4 key购买 nike

我有这个 SQL Server 存储过程:

    SET NOCOUNT ON
EXECUTE sp_configure 'Show Advanced Options', 1
RECONFIGURE
EXECUTE sp_configure 'Ad Hoc Distributed Queries', 1
RECONFIGURE

SELECT UserName, LoggedState, InteractionId, InteractionType --<-- The columns required.
FROM
OPENROWSET('SQLNCLI'
,'Server=USER-PC\SQLEXPRESS;Trusted_Connection=yes;database=XXX'
,'EXECUTE dbo.[XXX]')

当我在 SQL Server Management Studio 中执行它时,我得到了这个结果:

enter image description here

我的问题

我需要从表中读取数据。

我的问题

此数据不在输出参数中。这就是我无法阅读它们的原因。

我尝试过的

string vmpgraph = ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString;
SqlConnection Graphsqlcon = new SqlConnection(vmpgraph);

SqlCommand GraphCmd = new SqlCommand("storedProcedureName", Graphsqlcon);

SqlParameter tdate = new SqlParameter();
GraphCmd.CommandType = CommandType.StoredProcedure; ;
SqlDataAdapter DAGraph = new SqlDataAdapter(GraphCmd);

DataSet DSGraph = new DataSet();
DSGraph.Clear();

DAGraph.Fill(DSGraph);

DataTable DTgraph = new DataTable();
DTgraph = DSGraph.Tables[0];

这是正确的吗?如果不是,请问我该怎么办?

我无法在真实数据库上测试我的代码,因为我还没有数据库。

最佳答案

如果需要读取数据并创建数据集

 using (SqlCommand cmd = new SqlCommand("storedProcedureName",Connection ))
{
cmd.CommandType = CommandType.StoredProcedure;

using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
DataSet dataset = new DataSet();
da.Fill(dataset);
}
}

读取数据集数据

  foreach (var table in dataSet.Tables)
{
foreach (var row in table.Rows)
{
foreach (var column in table.Columns)
{
var UserName= row["UserName"];
}
}
}

 using (var reader = connection.ExecuteReader("storedProcedureName"))
{
if (reader.HasRows)
{
while (reader.Read())
{
//if this returns multiple row you need to add these retried values to a list. Better to create a class and hold values in list object
var UserName= reader["UserName"] != DBNull.Value ? reader["UserName"].ToString() : "";
var LoggedState= reader["LoggedState"] != DBNull.Value ? reader["LoggedState"].ToString() : "";
}
}
}

关于c# - SQL Server存储过程读取数据表的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22915737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com