Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите написать цикл 
V
    Опции темы
Mouse27
  Дата 13.3.2008, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 9.12.2007
Где: Латвия, Даугавпил с

Репутация: нет
Всего: нет



Помогите написать цикл. Что бы Текст из ТекстБокса1 сравнивало со всеми логинами в базе. А то у меня сравнивает только с первой записью.


Код

protected void Button2_Click(object sender, EventArgs e)
    {
        string connStr = "Data Source=MOUSE;Initial Catalog=STUDENTS;Integrated Security=True";

        SqlConnection conn = new SqlConnection(connStr);

        string SQL = "select Logins from dbo.Table_Mouse where (Logins like '"+TextBox1.Text+"')";

        SqlCommand comm = new SqlCommand(SQL, conn);

        conn.Open();

        SqlDataReader reader = comm.ExecuteReader();

        while (reader.Read())
        {
            if (TextBox1.Text == reader[0].ToString())
            {
                Label1.Text = "Логин занят";
            }

            else
            {
                Label1.Text = "Логин свободен";
            }
        }

        conn.Close();


    }

PM MAIL Skype   Вверх
kizune
Дата 14.3.2008, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 10.7.2007

Репутация: нет
Всего: 9



Код

try
{
conn.Open();
        SqlDataReader reader = comm.ExecuteReader();
        while (reader.Read())
        {
            if (TextBox1.Text == reader.GetValue(0).ToString())
            {
                Label1.Text = "Логин занят";
            }
            else
            {
                Label1.Text = "Логин свободен";
            }
        }
}
finally
{
        conn.Close();
}

PM MAIL   Вверх
Mymik
Дата 14.3.2008, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Цитата(Mouse27 @  13.3.2008,  23:27 Найти цитируемый пост)
Помогите написать цикл. Что бы Текст из ТекстБокса1 сравнивало со всеми логинами в базе. А то у меня сравнивает только с первой записью.

а зачем тебе цикл  smile ведь твой sql запрос возвращает записи у которых Logins = TextBox1.Text. Если тебе возвращается хотя бы одна запись, то ты уже можешь смело писать, что login занят. А лучше возвращай count(Logins) так быстрее и делаешь потом comm.ExecuteScalar() преобразуешь в int и сравниваешь... вот и все.

Ну а если тебе цикл нужен, то тебе необходимо возвращать все записи, а не те которые удовлетворяют условию, что конкретно для данной задачи ужасно нецелесообразно.

Кстати, kizune, ты написала совершенно идентичный код ТС... что ты хотела им сказать?


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
kizune
Дата 14.3.2008, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 10.7.2007

Репутация: нет
Всего: 9



ошиблась с недосыпа )
PM MAIL   Вверх
Mouse27
Дата 14.3.2008, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 9.12.2007
Где: Латвия, Даугавпил с

Репутация: нет
Всего: нет



Всё. А сам разрешил проблему. Вот как получилось!

Код

        string connStr = "Data Source=MOUSE;Initial Catalog=STUDENTS;Integrated Security=True";

        SqlConnection conn = new SqlConnection(connStr);

        string SQL = "select Logins from dbo.Table_Mouse where (Logins like '" + TextBox1.Text + "')";

        SqlCommand comm = new SqlCommand(SQL, conn);

        conn.Open();

        SqlDataReader reader = comm.ExecuteReader();

        if (reader.Read())
        {
            Label1.Text = "Логин занят";
        }
        else
        {
           Label1.Text = "Логин свободен";
        }

        conn.Close();


Что скажите?
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0498 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.