0
Я использую этот код для проверки пользователя, но он всегда отображает «Пользователь не найден». Использую ли я команду полного выбора с предложением where или нет. Ответ одинаковый каждый раз. Хотя он показывает некоторый результат в целом, но я не могу сопоставить один результат.SQL Server не показывает никакого вывода
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Text;
using System.Configuration;
public partial class Applicant : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
using (SqlConnection cn = new SqlConnection(myConnString))
{
using (SqlCommand cmd = new SqlCommand())
{
cn.Open();
SqlDataReader conReader = null;
cmd.CommandText = "Select * from Applicant ";
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;
// cmd.Parameters.AddWithValue("@userName", myid);
// cmd.Parameters.AddWithValue("@UserPassword", mypass);
try
{
conReader = cmd.ExecuteReader();
bool _userfound = false;
while (conReader.Read())
{
if (conReader[0].ToString() == myid.ToString() && conReader[1].ToString() == mypass.ToString())
{
_userfound = true;
break;
}
}
if (_userfound)
Response.Write("User Found");
else
Response.Write("User not Found");
}
catch (Exception ex)
{
Console.Write(ex);
}
finally
{
cn.Close();
}
}
}
}
}
Вы _sure_ 'select *' возвращает 'username' как первый столбец и' userpassword' как второй? Нет идентификатора пользователя или подобного, который может быть первым? В любом случае, для ясности, вы действительно не должны делать 'select *' и индексировать по номеру столбца. –
Просто отлаживайте и помещайте несколько сообщений журнала на каждое сравнение, которое вы делаете, чтобы вы могли знать, соответствуют ли результаты запроса. – Tirma