DataTable数据库连接

时间:2014-02-11 03:51:50

标签: c#

我有代码从存储过程中获取数据表。出于某种原因,它永远无法从SQL Server获取数据。

var conSTR = ConfigurationManager.ConnectionStrings["SRKBS-PB"].ConnectionString;

using(conDB = new SqlConnection(conSTR))
{
            cmd = new SqlCommand();
            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.CommandText = "sp_GetDeity";
            conDB.Open();

            DataTable dt = new DataTable();
            dt.Load(cmd.ExecuteReader());

            return dt;
}

在调试期间,condb包含数据,但dt为空。我已经检查过SQL Server端,一切都很好。请帮忙。致谢

1 个答案:

答案 0 :(得分:3)

您已创建新连接,但从未打开它。 ExecuteReader需要一个开放且可用的连接。

string constring = System.Configuration.ConfigurationManager.ConnectionStrings["SRKBS-PB"].ConnectionString;
using(conDB = new SqlConnection(constring))
using(cmd = new SqlCommand("sp_GetDeity", conDB))
{
    conDB.Open(); // open the connection
    cmd.CommandType = System.Data.CommandType.StoredProcedure;

    DataTable dt = new DataTable();
    dt.Load(cmd.ExecuteReader());

    return dt;
}