Just by reading through your code, nothing jumps out. Although I don't expect that either of these will resolve the issue, you might try the following:ALTER PROCEDURE [OGEN].[CAN_LOGIN](@P_USER_ID CHAR(8),@P_PASSWORD CHAR(14)) ASSET NOCOUNT ON;BEGINSELECT CAST(COUNT(*) AS NUMERIC(9)) AS CNT, OGEN.NEED_RESET_PWD(@P_USER_ID) AS ....
And alsowhile (rdr.Read()){// this always returns a 1 why??? results = rdr["CNT"].ToString();txtLogonError.Text = results;break;}rdr.Close();