साथ मैं एक अपवाद अमान्य स्तंभ नाम 'झूठी' हो रही है बयानअपवाद t "अमान्य स्तंभ नाम 'झूठी' SqlConnection
reader = cmd.ExecuteReader(CommandBehavior.SingleRow);
मैं समझ रहा हूँ इस के साथ क्या करने के लिए कुछ हो सकता है पर एसक्यूएल के बूलियन प्रकार एक "बिट" किया जा रहा है और यह 0
करने के लिए false
रूपांतरित नहीं हो। आपको लगता है कि कैसे कम है, या है कि इस मुद्दे को यहाँ?
public override bool ValidateUser(string username, string password)
{
bool isValid = false;
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("SELECT Password, IsApproved FROM Users" +
" WHERE Email = @Email AND ApplicationName = @ApplicationName AND IsLockedOut = False", conn);
cmd.Parameters.Add("@Email", SqlDbType.NVarChar, 128).Value = username;
cmd.Parameters.Add("@ApplicationName", SqlDbType.NVarChar, 255).Value = m_ApplicationName;
SqlDataReader reader = null;
bool isApproved = true;
string pwd = "";
try
{
conn.Open();
reader = cmd.ExecuteReader(CommandBehavior.SingleRow);
if (reader.HasRows)
{
reader.Read();
pwd = reader.GetString(0);
isApproved = reader.GetBoolean(1);
}
else
{
return false;
}
reader.Close();
if (CheckPassword(password, pwd))
{
if (isApproved)
{
isValid = true;
SqlCommand updateCmd = new SqlCommand("UPDATE Users SET LastLoginDate = @LastLoginDate" +
" WHERE Email = @Email AND ApplicationName = @ApplicationName", conn);
updateCmd.Parameters.Add("@LastLoginDate", SqlDbType.DateTime).Value = DateTime.Now;
updateCmd.Parameters.Add("@Email", SqlDbType.NVarChar, 255).Value = username;
updateCmd.Parameters.Add("@ApplicationName", SqlDbType.NVarChar, 255).Value = m_ApplicationName;
updateCmd.ExecuteNonQuery();
}
}
else
{
conn.Close();
UpdateFailureCount(username, "password");
}
}
उसने ऐसा किया। मैं तेज़ी से सीख रहा हूँ! यह मेरी पहली बार कोई प्रोग्रामिंग कर रहा है। तुरंत जवाब के लिए धन्यवाद। – RyanJMcGowan
बिग धन्यवाद! वह आखिरी बग था। जान में जान आई!!! – RyanJMcGowan