C# 数据表数据库连接
我有从存储过程中获取数据表的代码。由于某些原因,它永远无法从SQL Server获取数据C# 数据表数据库连接,c#,C#,我有从存储过程中获取数据表的代码。由于某些原因,它永远无法从SQL Server获取数据 var conSTR = ConfigurationManager.ConnectionStrings["SRKBS-PB"].ConnectionString; using(conDB = new SqlConnection(conSTR)) { cmd = new SqlCommand(); cmd.CommandType = System.Data.C
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端,一切都很好。请帮忙。谢谢您创建了新连接,但从未打开它。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;
}
您已创建了新连接,但从未打开它。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;
}
您已创建了新连接,但从未打开它。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;
}
您已创建了新连接,但从未打开它。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;
}
是ypur存储过程本质上是动态的,还是我可以说您正在存储过程中进行动态查询是的,我正在进行一个简单的选择查询您需要更改读取连接字符串的代码,所以我现在使用:var conSTR=ConfigurationManager.ConnectionString[“SRKBS-PB”].ConnectionString;使用(conDB=new-SqlConnection(contr)),但由于某些原因,数据表永远不会被填充:SSide注意:您不应该为存储过程使用
sp
前缀。微软已经这样做了,而且你确实有可能在将来的某个时候发生名称冲突。最好只是简单地避免使用sp.
并使用其他东西作为前缀,或者根本不使用前缀!是ypur存储过程本质上是动态的,还是我可以说您正在存储过程中进行动态查询是的,我正在进行一个简单的选择查询您需要更改读取连接字符串的代码,所以我现在使用:var conSTR=ConfigurationManager.ConnectionString[“SRKBS-PB”].ConnectionString;使用(conDB=new-SqlConnection(contr)),但由于某些原因,数据表永远不会被填充:SSide注意:您不应该为存储过程使用sp
前缀。微软已经这样做了,而且你确实有可能在将来的某个时候发生名称冲突。最好只是简单地避免使用sp.
并使用其他东西作为前缀,或者根本不使用前缀!是ypur存储过程本质上是动态的,还是我可以说您正在存储过程中进行动态查询是的,我正在进行一个简单的选择查询您需要更改读取连接字符串的代码,所以我现在使用:var conSTR=ConfigurationManager.ConnectionString[“SRKBS-PB”].ConnectionString;使用(conDB=new-SqlConnection(contr)),但由于某些原因,数据表永远不会被填充:SSide注意:您不应该为存储过程使用sp
前缀。微软已经这样做了,而且你确实有可能在将来的某个时候发生名称冲突。最好只是简单地避免使用sp.
并使用其他东西作为前缀,或者根本不使用前缀!是ypur存储过程本质上是动态的,还是我可以说您正在存储过程中进行动态查询是的,我正在进行一个简单的选择查询您需要更改读取连接字符串的代码,所以我现在使用:var conSTR=ConfigurationManager.ConnectionString[“SRKBS-PB”].ConnectionString;使用(conDB=new-SqlConnection(contr)),但由于某些原因,数据表永远不会被填充:SSide注意:您不应该为存储过程使用sp
前缀。微软已经这样做了,而且你确实有可能在将来的某个时候发生名称冲突。最好只是简单地避免使用sp.
并使用其他东西作为前缀,或者根本不使用前缀!不应该负责打开和关闭。我是C语言的初学者#如果OP没有打开连接,他会得到ExecuteReader()
需要打开连接异常。使用注意处理object@Rajiv使用
将处理对象(几乎在所有情况下都会优雅地关闭连接),但不是它的打开或配置使用
是否可以替代在代码遇到错误时使用最终
块关闭连接的需要error@Rajiv:SqlDataAdapter类将负责打开和关闭连接,但仅限于该类。SqlDataReader
需要一个打开的连接-在调用cmd.ExecuteReader()
aint之前,您有责任打开它,并负责打开和关闭连接。我是C语言的初学者#如果OP没有打开连接,他会得到ExecuteReader()
需要打开连接异常。使用注意处理object@Rajiv使用
将处理对象(几乎在所有情况下都会优雅地关闭连接),但不是它的打开或配置使用
是否可以替代在代码遇到错误时使用最终
块关闭连接的需要error@Rajiv:SqlDataAdapter类将负责打开和关闭连接,但仅限于该类。SqlDataReader
需要一个打开的连接-在调用cmd.ExecuteReader()
aint之前,您有责任打开它,并负责打开和关闭连接。我是C语言的初学者#如果OP没有打开连接,他会得到ExecuteReader()
需要打开连接异常。使用注意处理object@Rajiv使用
将处理对象(几乎在所有情况下都会优雅地关闭连接),但不是它的打开或配置使用
是否可以替代在代码遇到错误时使用最终
块关闭连接的需要error@Rajiv:SqlDataAdapter类将负责打开和关闭连接,但仅限于该类。SqlDataReader
需要一个开放的连接,这是您的责任