Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2016, 18:29   #1
ChiefAccent
Пользователь
 
Регистрация: 16.04.2016
Сообщений: 17
По умолчанию Из БД в CheckBox

Добрый вечер, помогите пожалуйста сделать код, который выявляет по списку пользователей в бд, кто из них заблокирован, а кто нет.
Т.е. в ListBox`e нажимаешь на пользователя, И считывается из БД в checkbox и ставится галочка или наоборот пустота.
В БД тоже true false, галочка или пустота.
При перещелкивании между пользователями в ListBox галочка ставится или убирается в соответствии с данными в БД.
Очень благодарю заранее, уже сутки не могу толком ничего придумать с этим.
Вот кусок кода:
PHP код:
StringLogins;
StringPassword;
StringFamily;
StringImya;
StringSurname;
StringBlock;



int CountLogin 0;
int CountPassword 0;
int CountFamily 0;
int CountImya 0;
int CountSurname 0;
int CountBlock 0;
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Logins = new String[1000];
Password = new String[1000];
Family = new String[1000];
Imya = new String[1000];
Surname = new String[1000];
Block = new String[10];



    
String QWERY "SELECT Users.Login, Users.Password, Users.Famliy, Users.Imya, Users.Surname, Users.Block FROM Users";

    
Form2->ADOQuery1->Active=false;
    
Form2->ADOQuery1->SQL->Clear();
    
Form2->ADOQuery1->SQL->Add(QWERY);
    
Form2->ADOQuery1->Active true;

      
CountLogin 0;
      
CountPassword 0;
      
CountFamily 0;
      
CountImya 0;
      
CountSurname 0;
      
CountBlock 0;

    
ListBox2->Clear();
    while (!
Form2->ADOQuery1->Recordset->Eof)
    {
        
//получаем логин
                
ListBox2->Items->Add(Form2->ADOQuery1->Fields->Fields[0]->Value);
        
Logins[CountLogin]  =  Form2->ADOQuery1->Fields->Fields[0]->Value;
        
CountLogin++;

        
Password[CountPassword] = Form2->ADOQuery1->FieldByName("Password")->Value;
        
CountPassword++;

        
Family[CountFamily] = Form2->ADOQuery1->FieldByName("Famliy")->Value;
        
CountFamily++;

        
Imya[CountImya] = Form2->ADOQuery1->FieldByName("Imya")->Value;
        
CountImya++;

        
Surname[CountSurname] = Form2->ADOQuery1->FieldByName("Surname")->Value;
        
CountSurname++;

       
        
Block[CountBlock] = Form2->ADOQuery1->FieldByName("Block")->Value;
        
CountBlock++;



       
Form2->ADOQuery1->Next();
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ListBox2Click(TObject *Sender)
{
    
int iListBox2->ItemIndex;
    
bool l=ListBox2->ItemIndex;

    if (
i!=-1)
    {
      
Edit1->Text=    Logins[i];
      
Edit2->Text=    Password[i];
      
Edit3->Text=    Family[i];
      
Edit4->Text=    Imya[i];
      
Edit5->Text=    Surname[i];
      
//CheckBox1->Checked = Block[l];
      //CheckBox1->

    
}
           
/*    if (Block[l] != 0)
         {
            CheckBox1->Checked = true;
            //CheckBox1->Caption = "Разблокировать";
         } // true
         if (Block[l] == 0)
         {
            CheckBox1->Checked = false;
            //CheckBox1->Caption = "Заблокировать";
         } // false */
    //bool = block;


вот форма

Последний раз редактировалось ChiefAccent; 19.04.2016 в 18:46.
ChiefAccent вне форума Ответить с цитированием
Старый 20.04.2016, 15:09   #2
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

Так никто и не ответил? В общем:
1) не городи огород и выкинь нафиг все те массивы... по нажатию на button3 грузи только логины (можно и какие-то id, так даже проще)
2) ListBox весьма тупой, мне пришлось заменить его на ListView, который может быть внешне похожим, но есть событие onSelectItem
3) в onSelectItem получай логин\id пользователя и выполняй "select * from Users where Name=....." (лучше по id, со строками проблемы есть, нужно использовать параметры, а я о них мало что помню), а ответ БД уже грузи в нужные поля, галочки ставь и т. д.
GreenWizard вне форума Ответить с цитированием
Старый 20.04.2016, 19:45   #3
ChiefAccent
Пользователь
 
Регистрация: 16.04.2016
Сообщений: 17
По умолчанию

Цитата:
Сообщение от GreenWizard Посмотреть сообщение
Так никто и не ответил? В общем:
1) не городи огород и выкинь нафиг все те массивы... по нажатию на button3 грузи только логины (можно и какие-то id, так даже проще)
2) ListBox весьма тупой, мне пришлось заменить его на ListView, который может быть внешне похожим, но есть событие onSelectItem
3) в onSelectItem получай логин\id пользователя и выполняй "select * from Users where Name=....." (лучше по id, со строками проблемы есть, нужно использовать параметры, а я о них мало что помню), а ответ БД уже грузи в нужные поля, галочки ставь и т. д.
Не могу понять как ей пользоваться всё равно. Хоть убейте, полазил в инете.
ChiefAccent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
checkbox linkoln_7 JavaScript, Ajax 31 03.04.2015 09:53
Как выполнить функцию в случае нажатия на CheckBox, если данный CheckBox был добавлен через код? PAMAC Microsoft Office Excel 7 21.02.2013 15:33
CheckBox Arm!n Помощь студентам 2 30.12.2010 00:26
checkbox user666 Помощь студентам 6 25.08.2010 01:55