Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

Table1.First;
Table1.MoveBy(1); перемещаемся на количество записей в скобках
Первая строчка нужна для позиционирования на первую запись, если мы стоим сейчас не на первой.
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 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
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Легче наверное будет воспользоватся методом Locate:

if not (table1.locate('Имя_поля', edit1.text, [])) and
(table1.locate('Имя_поля2', edit2.text, [])) then exit
else
form2.show;
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 17.05.2007, 20:35   #5
Veg
 
Регистрация: 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.
Veg вне форума Ответить с цитированием
Старый 17.05.2007, 20:50   #6
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

table1.locate('field1;field2', VarArrayOf([edit1.text, edit2.text], [])
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 17.05.2007, 22:37   #7
Veg
 
Регистрация: 17.05.2007
Сообщений: 3
По умолчанию

а где происходит проверка по полю доступ? просто записей может и пять
Veg вне форума Ответить с цитированием
Старый 18.05.2007, 01:39   #8
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

Locate может работать с любым количеством полей. В первом параметре через запятую перечисляешь названия полей, во втором параметре значения этих полей. Тот код, который приведен выше был взят из стандартного хэлпа в Делфи. Почитай.
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 18.05.2007, 19:24   #9
Veg
 
Регистрация: 17.05.2007
Сообщений: 3
По умолчанию

а как мне спомощью этого запроса
select пароль,столбец
from таблица
where пароль=Edit1.Text
and
столбец=2

узнать , что он возвращает нашел ли запись( true , false ) ,чтобы поставить в условие ,и после этого открывать одну форму или другую ?

Последний раз редактировалось Veg; 18.05.2007 в 20:39.
Veg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать чтение из тяжелой базы данных? 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