Форум: "Базы";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];
ВнизЧтоб при вводе запроса небыло подвязки к регистру? Найти похожие ветки
← →
Starcom © (2005-09-05 16:10) [0]Привет Мастера!
При таком раскладе, при вводе фамилии с большой буквы (Петров) запрос выполняется
т.к в Бд Paradox фамилия так и записана.
Как мне сделать так чтоб при вводе фамилии с маленькой буквы запрос тоже выполнялся?
т.е при вводе небыло подвязки к регистру.
Желательна врезка к уже имеюшемуся коду...!
var
fam: string[30];
begin
fam:=InputBox("Поиск Сотрудника в Базе данных",
"Укажите Фамилию и щелкните на OK.", "");
if fam <> "" // пользователь ввел фамилию
then // проверяем на предмет пустого ввода
Query1.SQL.Add(fam) {Назначаем свойству SQL текст fam}
else
begin
MessageDlg("Вы не ввели Фамилию, попробуйте ещё раз!", mtError,[mbOk], 32);
exit;
end;
begin
with DbElek.Query1 do begin
Close; // закрыть файл-результат выполнения предыдущего запроса
SQL.Clear; // удалить текст предыдущего запроса
// записываем новый запрос в свойство SQL
SQL.Add("SELECT Fam, Name, Otch, Dol, Adr, Dtel, Stel, Tabn, Staj");
SQL.Add("FROM ":Список:spisok.db"");
SQL.Add("WHERE");
SQL.Add("(Fam = ""+ fam + "")");
SQL.Add("ORDER BY Name, Fam");
Open; // активизируем выполнение запроса
StatusBar1.Panels[2].Text :="";
StatusBar1.Panels[2].Text :="Поиск Завершен!";
end;
if Query1.RecordCount <> 0 then
DataSource1.DataSet:=Query1 // отобразить результат выполнения запроса
else begin
MessageDlg("В Базе Данных, нет данной Фамилии!", mtInformation,[mbOk], 32);
DataSource1.DataSet:=Table1;
end;
end;
end;
С Уважением Starcom! ;)
← →
Val © (2005-09-05 16:15) [1]1. применить функцию Upper при сравнении в запросе или ей подобную.
2. заменить конкатенацию на параметры. К вопросу не относится, но является хорошиим стилем, как минимум.
← →
Shaman_ © (2005-09-05 17:31) [2]
SQL.Add("(Fam = ""+ fam + "")");
заменить наSQL.Add("(Upper(Fam) = :Fam)");
Params.ParamByName("Fam").AsString := AnsiUpperCase(Fam);
← →
Starcom © (2005-09-05 20:41) [3]Спасибо всем огромное! Всё получилось!
С Уважением Starcom! :)
← →
Starcom © (2005-09-09 20:11) [4]Всё бы да ничего но при внесении изменений в запрос
по совету:
----------
Shaman_ © (05.09.05 17:31) [2]
SQL.Add("(Fam = ""+ fam + "")");
заменить на
SQL.Add("(Upper(Fam) = :Fam)");
Params.ParamByName("Fam").AsString := AnsiUpperCase(Fam);
---------------------------------------------------------
Перестали выполнятся запросы к базе данных с некоторыми фамилиями:
Тка..., Пол..., в чём может быть проблема?
С Уважением Starcom! :(
← →
Mike Kouzmine © (2005-09-10 07:43) [5]А что до этого Fam?
← →
Турист (2005-09-10 11:39) [6]>Starcom ©
При просмотре результата запроса
SELECT UPPER(Fam) FROM ":Список:spisok.db"
видимых проблем нет ?
← →
Starcom © (2005-09-10 17:37) [7]До внесения изменений, поиск по всёй базе был на все 100%
а после перестал находить некоторие записи на Тка..., Пол...,
Чё за хрень! :(
← →
Anatoly Podgoretsky © (2005-09-10 22:06) [8]Ткаченко, Поляков
← →
Турист (2005-09-10 22:36) [9]По Anatoly Podgoretsky © (10.09.05 22:06) [8]
Upper(FAM)
ТКАчЕНКО
ПОЛџКОВ
← →
Турист (2005-09-10 23:09) [10]
uses
BDE;
procedure TForm1.Button1Click(Sender: TObject);
var
Buffer: array[0..255] of Char;
begin
StrPCopy(Buffer, "Ткаченко");
OsLdStrToUpper(Table1.Locale, PByte(@Buffer));
ShowMessage(Buffer)
end;
← →
Starcom © (2005-09-11 18:57) [11]Anatoly Podgoretsky © (10.09.05 22:06) [8]
Да вы и без того Лучший, действительно Ткаченко, Поляков.
Ну а мне поконкретней мона! :]
C Уважением Starcom ! ;-)
← →
Starcom © (2005-09-11 21:05) [12]Парни есть варианты! :|
← →
Anatoly Podgoretsky © (2005-09-11 21:28) [13]Без вариантов
← →
Starcom © (2005-09-12 18:22) [14]Anatoly Podgoretsky © (11.09.05 21:28) [13]
Уважаемый Анатолий! Можно мне обьяснить вчём именно проблемма?
А то мне тут ...
насоветовали и в кусты :( Shaman_ © (05.09.05 17:31) [2]
С Уважением Starcom! :|
← →
Anatoly Podgoretsky © (2005-09-12 18:48) [15]Смотри Турист (10.09.05 22:36) [9]
← →
Starcom © (2005-09-12 19:09) [16]Смотрю но не догоняю, поконкретнее Плиз!!!
От чего всё енто происходит (не про не догоняю)с поиском хэ!
← →
Starcom © (2005-09-14 09:05) [17]Парни не бросайте, помогите разобратся!
С Уважением Starcom! ;-(
← →
Anatoly Podgoretsky © (2005-09-14 09:41) [18]Смотри еще раз Турист (10.09.05 22:36) [9], только очень внимательно, выписывая буква за буквой на бумажку, а потом читай Anatoly Podgoretsky © (11.09.05 21:28) [13]
← →
ЮЮ © (2005-09-14 12:08) [19]SQL.Add("(Fam = :Fam)");
Params.ParamByName("Fam").AsString :=
AnsiUpperCase(Copy(Fam,1,1)) + AnsiLowerCase(Copy(Fam,2,Length(Fam))) +;
← →
Starcom © (2005-09-14 17:05) [20]Anatoly Podgoretsky © (14.09.05 09:41) [18]
Перечитал и переписал, но нифига не получилось. Дык!!!
ЮЮ © (14.09.05 12:08) [19]
Попробовал твой код, выдаёт ошибку!
Парни если енто что я прошу невозможно так и скажите, а то кутерьма какая-то!
С Уважением Starcom!
← →
ANB © (2005-09-14 17:19) [21]
> Starcom © (14.09.05 17:05) [20]
- ошибка компиляции ?SQL.Add("(Fam = :Fam)");
Params.ParamByName("Fam").AsString :=
AnsiUpperCase(Copy(Fam,1,1)) + AnsiLowerCase(Copy(Fam,2,Length(Fam)));
ЗЫ. Мог бы и сам опечатку поправить
← →
Anatoly Podgoretsky © (2005-09-14 19:23) [22]Starcom © (14.09.05 17:05) [20]
Парни если енто что я прошу невозможно так и скажите, а то кутерьма какая-то!
А сколько раз надо это говорить , тебе и доказательство привели, а все равно без толку.
← →
Starcom © (2005-09-14 19:32) [23]Anatoly Podgoretsky © (14.09.05 19:23) [22]
Пасиба добрый Вы! :)
ANB © (14.09.05 17:19) [21]
Скромность, вежливость Мастеров!
Вы за кого меня принимаете! ЗЫ. Поправил не слепой, но тема таже,
вот и написал что ошибка! :(
← →
Starcom © (2005-09-14 20:03) [24]ANB © (14.09.05 17:19) [21]
Беру свои слова на счёт ошибки - Обратно! Пасибо Огромное!
Ну и помурыжили же Вы Меня! ;)
С Уважением Starcom! :)))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.043 c