から任意のデータを返さない:ここではSqlDataReaderのは、私は罰金を実行私のSQL Serverデータベースに次のストアドプロシージャを持っている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 Serverへの呼び出しをトレースし、呼び出しがどうなるかを確認する方法はありますか? – Cass
私が投稿した新しい答えを見てください。それは動作し、テストされています。コードを変更する必要があります。 SQLコマンド文の前に接続を開きます。 SqlConn.openConnection()。次の変更はwhileループ内にあります。string strDBNme =(文字列)sdrData ["stateabbrev"];州の場所でstateabbrevを置く必要があります。 –