Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.12.2015, 11:46
pha1984 pha1984 вне форума
Прохожий
 
Регистрация: 26.05.2015
Сообщения: 11
Версия Delphi: Delphi7
Репутация: 10
По умолчанию SQLite и Delphi7

Всем привет. Я новичок в делфи. У меня установлена делфи7. Есть база данных SQLite. Как мне подключить его к гриду в делфи7?
Ответить с цитированием
  #2  
Старый 17.12.2015, 12:27
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Почитайте тут
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 18.12.2015, 15:13
pha1984 pha1984 вне форума
Прохожий
 
Регистрация: 26.05.2015
Сообщения: 11
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Почитайте тут
спс, установил, появился 3 компонента:
1. DISQLite3Database1
2. DISQLite3UniDirQuery1
3. DISQLite3DataSetImporter1
В опциях DISQLite3Database1 выбрал базу данных и конектился, все ок.
В опциях DISQLite3UniDirQuery1 выбрал DISQLite3Database1 и где написано SelectSQL написал Select * from hamagi - все ок.
В опциях DISQLite3DataSetImporter1 выбрал DISQLite3Database1 и DISQLite3UniDirQuery1 и там где написано Table name написал hamagi - все ок.
На форме вставил DBGrid но как его подключить к базе данных? В опциях DBGrid есть DataSource но при клике она пустая, что делать дальше?
Ответить с цитированием
  #4  
Старый 18.12.2015, 15:33
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Со вкладки Data Access палитры компонентов осталось добавить невизуальный компонент DataSource и ему задать из списка в Data Set вашу базу и прицепить его к DBGrid
Ответить с цитированием
  #5  
Старый 18.12.2015, 15:58
pha1984 pha1984 вне форума
Прохожий
 
Регистрация: 26.05.2015
Сообщения: 11
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Со вкладки Data Access палитры компонентов осталось добавить невизуальный компонент DataSource и ему задать из списка в Data Set вашу базу и прицепить его к DBGrid
у меня во вкладке Data Access имеются следующие компоненты:
1. DataSource (DB)
2. ClientDataSet (DBClient)
3. DataSetProvider (Provider)
4. XMLTransform (Xmlxform)
5. XMLTransformProvider (Xmlxform)
6. XMLTransformClient (Xmlxform)
7. VirtualTable (VirtualTable)
8. CRBatchMove (CRBatchMove)

Какой из них выбрать?
Ответить с цитированием
  #6  
Старый 18.12.2015, 16:13
pha1984 pha1984 вне форума
Прохожий
 
Регистрация: 26.05.2015
Сообщения: 11
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Ах да я понял, я сделал как вы сказали но выдает ошибку Operation not allowed on a unidirectional dataset
Ответить с цитированием
  #7  
Старый 18.12.2015, 16:31
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Возможно ещё нужны DataSetProvider и ClientDataSet оттуда же т.к.
вероятно ваша DISQLite3Database имеет однонаправленный набор данных, а гриду надо с произвольным доступом
Ответить с цитированием
  #8  
Старый 18.12.2015, 16:42
pha1984 pha1984 вне форума
Прохожий
 
Регистрация: 26.05.2015
Сообщения: 11
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Возможно ещё нужны DataSetProvider и ClientDataSet оттуда же т.к.
вероятно ваша DISQLite3Database имеет однонаправленный набор данных, а гриду надо с произвольным доступом
Можете написать куда что вписать?
Ответить с цитированием
  #9  
Старый 18.12.2015, 16:52
pha1984 pha1984 вне форума
Прохожий
 
Регистрация: 26.05.2015
Сообщения: 11
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Возможно ещё нужны DataSetProvider и ClientDataSet оттуда же т.к.
вероятно ваша DISQLite3Database имеет однонаправленный набор данных, а гриду надо с произвольным доступом
справился спс.
Ответить с цитированием
  #10  
Старый 18.12.2015, 16:55
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

На сайте где вы скачивали библиотеку DISQLite есть делфийские примеры, можно их и глянуть, хуже не будет :-)
Ответить с цитированием
  #11  
Старый 18.12.2015, 19:29
pha1984 pha1984 вне форума
Прохожий
 
Регистрация: 26.05.2015
Сообщения: 11
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
На сайте где вы скачивали библиотеку DISQLite есть делфийские примеры, можно их и глянуть, хуже не будет :-)
там я не понял, как сделать поиск по edit1 при нажатии на button1. Вот мой скрипт:
procedure TForm1.Button1Click(Sender: TObject);
begin

Query1.Close;
if not Query1.Prepared then
Query1.Prepare;
Query1.ParamByName('lastname').Value := Edit1.Text;
Query1.Open;

end;
Ответить с цитированием
  #12  
Старый 19.12.2015, 06:03
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

А не проще готовыми методами самого компонента?
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.Locate('lastname', Edit1.Text, [loPartialKey]);
end;
это нестрогий поиск
Ответить с цитированием
  #13  
Старый 19.12.2015, 08:10
pha1984 pha1984 вне форума
Прохожий
 
Регистрация: 26.05.2015
Сообщения: 11
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
А не проще готовыми методами самого компонента?
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.Locate('lastname', Edit1.Text, [loPartialKey]);
end;
это нестрогий поиск
выдает ошибку Undeclared identifier: Query1

Кстати на форме имеется DBGrid1, Edit1, Button1, DataSource, Clientdataset1, Datasetprovider, DISqliteDatabase и DISqliteUniDirQuery. На гриде показывается все данные из базы данных sqlite.db. Надо в поле edit1 написать например фамилию Пиров и при нажатии на кнопку в гриде была только фамилия Пиров если она есть, в противном случае выскочило сообшение Нет такого сотрудника.
Ответить с цитированием
  #14  
Старый 19.12.2015, 08:40
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от pha1984
выдает ошибку Undeclared identifier: Query1...
Это оно ведь в вашем "скрипте" так называется :-) оффтоп: кста, хорошо бы этот блок тегом [СODE]..[/СODE] оформить

А про фамилию, можно похоже вот так сделать
Код:
...
 with Query1 do
  begin
   Close;
   SQL.Text:= 'SELECT * FROM Table_Name WHERE lastname=' + Edit1.Text;
   Open;
   if FieldValues['lastname'] <> Edit1.Text then
     ShowMessage('Нет такого сотрудника') ;
  end;
...
Ответить с цитированием
  #15  
Старый 19.12.2015, 09:44
pha1984 pha1984 вне форума
Прохожий
 
Регистрация: 26.05.2015
Сообщения: 11
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Это оно ведь в вашем "скрипте" так называется :-) оффтоп: кста, хорошо бы этот блок тегом [СODE]..[/СODE] оформить

А про фамилию, можно похоже вот так сделать
Код:
...
 with Query1 do
  begin
   Close;
   SQL.Text:= 'SELECT * FROM Table_Name WHERE lastname=' + Edit1.Text;
   Open;
   if FieldValues['lastname'] <> Edit1.Text then
     ShowMessage('Нет такого сотрудника') ;
  end;
...
Можете дать полный код? А то я новичок в делфи и не знаю что куда писать.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:38.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025