поиск по базе Access

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
ruid
Сообщения: 3
Зарегистрирован: 12 апр 2010, 10:50

Всем привет. Использую Visual C++ 6.0. Делаю приложение с использованием базы данных.
Нашел вот такой код.

Код: Выделить всё

void CDovView::OnSearch()
{
  CFilt cf;//переменная нового окна
  if(cf.DoModal()==IDOK)//если в новом окне нажата кнопка ок
   {
     CString filt="Nazva='";
     filt=filt+cf.m_Filtr;
     filt=filt+"'";
     m_pSet->m_strSort=filt;//поиск по базе
     m_pSet->Reqery();//обновление
     UpdateData(FALSE);
   }
}
если например я ввожу Иванов то все нормально работает, а если ИВанов то сразу открывает последнюю запись.
помогите. как сделать чтобы на ригистр букв не обращал внимание. Заранее спасибо
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Код: Выделить всё

SELECT UPPER(Name) as UpperName FROM People WHERE UpperName='ИВАНОВ';
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
ruid
Сообщения: 3
Зарегистрирован: 12 апр 2010, 10:50

я новичок можно подробней
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Я знаю, как это можно сделать на чистом SQL. Предлагаю тебе самостоятельно разобраться по документации программной обёртки, как это сделать в Visual Studio. Если не осилишь, то может я гляну чуть позже, как время появится.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Albor
Сообщения: 491
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

Я так понимаю, что m_pSet - указатель на объект рекордсет. У этого рекордсета должна быть определёна строка запроса вроде приведенной Romeo, вот её и подправь, то есть смотри класс рекордсета или функцию, устанавливающую запрос для него.
ruid
Сообщения: 3
Зарегистрирован: 12 апр 2010, 10:50

облазил все, нашел только m_pSet=NULL;
Albor
Сообщения: 491
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

ruid писал(а):облазил все, нашел только m_pSet=NULL;
Посмотри тип этой переменной в хеадере класса документа (видимо у тебя SDI приложение) В проекте должен быть класс с таким именем, в этом классе и поищи.
Ответить