任何数据我有我的SQL Server数据库中的以下存储过程,其执行罚款:SqlDataReader的不返回从SQL Server存储过程
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[LoadStates]
AS
BEGIN
SELECT stateabbrev
FROM states
ORDER BY stateabbrev
END
GO
这里是我的C#代码; sdrData
已被初始化,似乎是正确的,但结果集是空的。请帮忙。
using (SqlCommand sqlCmd = new SqlCommand("LoadStates", sqlConn))
{
sqlCmd.CommandType = CommandType.StoredProcedure;
// set up the parameters that the Stored Procedure expects
//sqlCmd.Parameters.Add("@States", SqlDbType.Char, 2).Direction = ParameterDirection.Output;
using (SqlDataReader sdrData = sqlCmd.ExecuteReader())
{
while (sdrData.Read())
{
string strDBNme = sdrData.ToString();
//string strDBNme = (string)sdrData["States"];
cmbxACState.Items.Add(strDBNme);
}
sdrData.Close();
}
}
#Ramdeo angh - 我试过了,结果仍然一样。我的连接字符串已经打开,我在之前的一个步骤中完成。有没有办法跟踪对sql服务器的调用,看看调用会发生什么? – Cass
看看我发布的新答案。它的工作和测试。你需要改变你的代码。在SQL命令语句之前打开您的连接。 SqlConn.openConnection()。接下来的改变是在while循环中.. string strDBNme =(string)sdrData [“stateabbrev”];在国家的地方需要把stateabbrev。 –