Страница 1 из 1

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

Добавлено: 12 апр 2010, 11:19
ruid
Всем привет. Использую 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);
   }
}
если например я ввожу Иванов то все нормально работает, а если ИВанов то сразу открывает последнюю запись.
помогите. как сделать чтобы на ригистр букв не обращал внимание. Заранее спасибо

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

Добавлено: 12 апр 2010, 12:26
Romeo

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

SELECT UPPER(Name) as UpperName FROM People WHERE UpperName='ИВАНОВ';

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

Добавлено: 12 апр 2010, 12:42
ruid
я новичок можно подробней

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

Добавлено: 12 апр 2010, 14:12
Romeo
Я знаю, как это можно сделать на чистом SQL. Предлагаю тебе самостоятельно разобраться по документации программной обёртки, как это сделать в Visual Studio. Если не осилишь, то может я гляну чуть позже, как время появится.

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

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

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

Добавлено: 12 апр 2010, 16:38
ruid
облазил все, нашел только m_pSet=NULL;

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

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