|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.05.2007, 14:19 | #1 |
Регистрация: 09.05.2007
Сообщений: 9
|
Чтение из базы
У меня есть таблица,состоящая из двух столбцов и двух строк:
Петров | 111 Иванов | 222 На форме два Edit и кнопка. Мне надо, если Петров и 111, то открывается вторая форма: if (Edit1.Text = Table1.Fields[0].AsString) and (Edit2.Text = Table1.Fields[1].AsString) then begin form2.Show; А если мне надо сравнить Иванова и 222? Как я понимаю, Table1.Fields[0] - это первая строка первого столбца. А как выбрать вторую строку первого столбца. Заранее благодарю! |
09.05.2007, 17:48 | #2 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
Table1.First;
Table1.MoveBy(1); перемещаемся на количество записей в скобках Первая строчка нужна для позиционирования на первую запись, если мы стоим сейчас не на первой.
Не надо ничего усложнять. Все достаточно тривиально.
|
09.05.2007, 21:36 | #3 |
Регистрация: 09.05.2007
Сообщений: 9
|
Я, наверно слишком туп в програмировании, но в строке
if Edit1.Text =Table1.MoveBy(1) then begin form2.show; что-то не так? |
10.05.2007, 11:51 | #4 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 143
|
Легче наверное будет воспользоватся методом Locate:
if not (table1.locate('Имя_поля', edit1.text, [])) and (table1.locate('Имя_поля2', edit2.text, [])) then exit else form2.show;
Свободу клавиатурным самураям...
|
17.05.2007, 20:35 | #5 |
Регистрация: 17.05.2007
Сообщений: 3
|
У меня есть таблица,состоящая из трех столбцов и двух строк:
Петров | 111 | 1 Иванов | 222 | 2 ( где 1 и 2 уровень доступа) Подскажите плз! как в этом запросе if not (table1.locate('Имя_поля', edit1.text, [])) and (table1.locate('Имя_поля2', edit2.text, [])) then exit else form2.show; проверить поле Доступ , если 1 то открывает одну форму , если 2 то другую , Последний раз редактировалось Veg; 17.05.2007 в 20:38. |
17.05.2007, 20:50 | #6 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
table1.locate('field1;field2', VarArrayOf([edit1.text, edit2.text], [])
Не надо ничего усложнять. Все достаточно тривиально.
|
17.05.2007, 22:37 | #7 |
Регистрация: 17.05.2007
Сообщений: 3
|
а где происходит проверка по полю доступ? просто записей может и пять
|
18.05.2007, 01:39 | #8 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
Locate может работать с любым количеством полей. В первом параметре через запятую перечисляешь названия полей, во втором параметре значения этих полей. Тот код, который приведен выше был взят из стандартного хэлпа в Делфи. Почитай.
Не надо ничего усложнять. Все достаточно тривиально.
|
18.05.2007, 19:24 | #9 |
Регистрация: 17.05.2007
Сообщений: 3
|
а как мне спомощью этого запроса
select пароль,столбец from таблица where пароль=Edit1.Text and столбец=2 узнать , что он возвращает нашел ли запись( true , false ) ,чтобы поставить в условие ,и после этого открывать одну форму или другую ? Последний раз редактировалось Veg; 18.05.2007 в 20:39. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать чтение из тяжелой базы данных? | Sanek777 | Общие вопросы Delphi | 1 | 02.09.2008 23:51 |
Чтение изображения из базы данных, Вместо изображения - "System.Byte[]" | ruelCrow | Общие вопросы .NET | 3 | 10.07.2008 23:29 |
Чтение | subsonic | Общие вопросы Delphi | 1 | 30.05.2008 08:06 |
Чтение тексат из *.doc | silversab | Помощь студентам | 0 | 28.11.2007 17:54 |
Чтение из файла | Need_Help | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 19.05.2007 05:37 |