|
Программирование >> Элементы языков с и с++
518 Глаеа 12 try DataRow row = this->TelDataSet->Tables[0]->Rows->Find(this- >textBoxl->Text); int i=this->TelDataSet->Tables[0]->Rows->IndexOf(row); Find ищет только по Primary Key fam = dynamic cast <String (row->ItemArray[0]); adr= dynamic cast <String (row->IteiTiArray [1]) ; tel= dynamic cast <String (row->ItemArray[2]); s=s->Empty; this->textBox2->Text= ; s=s->Concat(s, fam) s=s->Concat(s, ), s=s->Concat(s,adr), s=s->Concat(s, s=s->Concat(s,tel), this->textBox2->Text=s; } try catch (...) захватывает любые исключения { MessageBox::Show( Строка не найдена ); return; private: System::Void button2 Click(System::Objecf sender. System::EventArgs e) this->Close(); private: System::Void Forml Shown(System::Object sender. System: : EventArgs e) ofs U М I >s Ы Режим дизайна
, , Режим исполнения Результат leDataSal Itf TeendngSourca ЩТе1Г ЫвАс1ар(вг Т/ тн п*дМаучмог Рис. 12.24. Формы приложения для примера 1 Листинг 12.2 private: System::Void button2 Click(System::Object sender. System:: Event Arg se) this->Close () ; private: System: :Void buttonl Click(System: :Object sender. System:: EventArgs e) String s, fam, adr, tel; int k,i; DataRow row; DataTable table = this->TelDataSet->Tables [0] ; Так узнается индекс строки: int i=this->TelDataSet->Tables[0]->Rows->IndexOf(row); this->listBoxl->Items->Clear0; очистка ListBox for(k=0, i=0; i < table->Rows->Count; i++) row = table->Rows[i]; установка на строку с индексом 3 s=dynamic cast <String {row[ Adres ]) ; adr=this->textBoxl->Text; надо обрезать вспом. символы, которые появляются от <Enter>: adr=adr->Trim(); Возможность поиска по части адреса: поиск вхождения введенного адреса в адрес из БД int j=s->IndexOf(adr) ; if(j = 0) continue; else { k=l; fam = dynamic cast <String > adr= dynamic cast <String tel= dynamic cast <String s=s->Empty; очистка строки s=s->Concat(s, fam) s=s->Concat(s, ) s=s->Concat(s,adr) s=s->Concat(s, ) s=s->Concat(s,tel) this->listBoxl->Items->Add(s); ) for if (k) (row[ FIO ]); (rowCAdres ]); (row[ Tel ]); else MessageBox::Show( Строка не найдена ); /* У объекта DataRow есть свойство Item, возвращающее содержимое конкретного поля. Можно указать имя поля как в примере кода, или целое число, соответствующее порядковому номеру столбца. При поиске по индексу данные возвращаются немного быстрее, чем при поиске по названию столбца.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |