Программирование >>  Элементы языков с и с++ 

1 ... 169 170 171 [ 172 ] 173 174 175 ... 200


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 Ы

Режим дизайна

1 Фаг*члмя Ими Отчество

Дом аадес

Телефон

2 ~


, , Режим исполнения Результат

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, возвращающее содержимое конкретного поля. Можно указать имя поля как в примере кода, или целое число, соответствующее порядковому номеру столбца.

При поиске по индексу данные возвращаются немного быстрее, чем при поиске по названию столбца.



1 ... 169 170 171 [ 172 ] 173 174 175 ... 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика