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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2010, 02:38   #1
Lorden
Форумчанин
 
Регистрация: 11.08.2008
Сообщений: 139
По умолчанию Выбор строки в SimpleDataSet

Здравствуйте! подскажите пожалуста как в SimpleDataSet выбрать определённую строку? например стандартно всегда указатель стоит на 1 строке а мне нада чтобы он перекинулся на 4, как это можно сделать? чёт не нашёл параметров line, position и т.п.
Lorden вне форума Ответить с цитированием
Старый 28.11.2010, 09:51   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
DataSet.Next;
DataSet.Next;
DataSet.Next;
и вы на чётвёртой строке..
только, лучше использовать LOCATE() по ключевому полю..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.11.2010, 10:45   #3
Lorden
Форумчанин
 
Регистрация: 11.08.2008
Сообщений: 139
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Код:
DataSet.Next;
DataSet.Next;
DataSet.Next;
и вы на чётвёртой строке..
только, лучше использовать LOCATE() по ключевому полю..
ну про DataSet.next это я понятно, а вто locate() чтото не пойму как ей пользоваться?

ещё возникла вот такая проблема: при запросе UPDATE svet SET position=0 WHERE comn_name="Кладовая" выдаёт вот такую ошибку:
Код:
SQLQuery: cursor not returned from Query
в БД всё заносится, изменяется но как можно избавиться от этой ошибки?

Последний раз редактировалось Lorden; 28.11.2010 в 18:06.
Lorden вне форума Ответить с цитированием
Старый 28.11.2010, 18:57   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
ну про DataSet.next это я понятно, а вто locate() чтото не пойму как ей пользоваться?
а на Locate нажать F1 не пробовали? В стандартной помощи всё английским по белому написано...
пользоваться примерно так:
Код:
YourDataSet1.Locate('TABLE_ID',_id,[]);
где YourDataSet1 - ваш датасет
'TABLE_ID' - имя ключевого столбца в наборе данных
_id - переменная, в которой находится искомое значение ключевого поля...

в принципе, это логическая функция, которая возвращает, удалось ли найти требуемое значение, или не удалось:
Код:
if Not YourDataSet1.Locate('TABLE_ID',_id,[]) then begin
  ShowMessage('Такое значение ключевого поля не найдено!');
  ... действия в случае отсутствия ключевого значения...
end;

Цитата:
БД всё заносится, изменяется но как можно избавиться от этой ошибки?
вместо Query1.Open; (ну или, что то же самое Query1.Active := true); для операций изменения данных надо вызывать метод ExecSQL:
Код:
  Query1.ExecSQL;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mysql и SimpleDataSet onixred БД в Delphi 0 28.07.2010 06:29
Выбор строки в TreeView qwerty55 Общие вопросы Delphi 2 20.06.2010 09:00
Выбор инициалов из строки Swatch Microsoft Office Access 6 05.03.2010 13:53
Выбор строки в файле на C++ mysan Общие вопросы C/C++ 2 20.01.2010 14:11
SimpleDataSet для Access chekanoff Компоненты Delphi 1 15.09.2009 22:59