SQL Server から列WebMethod
を取得するために呼び出される があります。varchar(max)
Management Studio で正常に動作する必要なストアド プロシージャを作成しますが、以下のコードを実行するとエラーが発生します。
データが存在しない場合の無効な読み取り試行
コード:
[WebMethod]
public static void PopulatePopUp(string arg)
{
var str = GlobalStatic.ExceptBlanks(arg);
SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["Conn"].ConnectionString);
SqlDataReader rdr = null;
using (conn)
{
using (SqlCommand cmd = new SqlCommand())
{
conn.Open();
cmd.CommandText = "GetMessage_Sel";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@messageId", SqlDbType.VarChar, -1).Value = str;
cmd.Parameters.Add("@RowCount", SqlDbType.Int).Direction = ParameterDirection.Output;
cmd.Connection = conn;
try
{
rdr = cmd.ExecuteReader();
if (rdr.HasRows)
{
string fieldValue = rdr.GetString(0);
}
else
{
Console.WriteLine("No rows found.");
}
rdr.Close();
}
catch (Exception err)
{
// handle the error
//messageInsert = false;
}
finally
{
conn.Close();
}
}
}
}