Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Поиск в Базе Данных (.db) на Delphi

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Поиск в Базе Данных (.db) на Delphi
Имя
Сообщение << Старые топики   Новые топики >>
Поиск в Базе Данных (.db) на Delphi - 2006-03-22 15:30:17   
Zorro_13

Сообщений: 3
Оценки: 0
Присоединился: 2006-02-15 21:53:23



Привет!
У меня такой вопрос!
У меня курсовая Телефонный справочник и я сделал таблицу Table 1.db где заголовки Фамилия Имя Адрес и Телефон. В Administrator BDE сделал базу данных "Телефонный справочник". Сделал кнопку "Поиск" !
А теперь вопрос а как сделать поиск по моей базе, я уже искал много где примеров, но не получается! Вот текст моей программы(если он поможет):

Я попробывал сделать с помощью SQL :
В свойствах Query:
DataBaseName: Телефонный справочник
DataSource: DataSource1
Name: Query1
Active: False

Когда Active ставлю True выдает ошибку: Query1: No SQL statement available.

А если оставить False, то при поиске выдает всё время, что "Нет Записей"!

Я поменял заголовки в Таблице на Английские!
Но всё равно не работает! В SQL не хочет ставиться Active: True; выдает туже ошибку что и раньше.
При компиляции всё запускается, нажимаю кнопку Поиск открывается окно поиска, пишу фамилию и нажимаю ОК и оно выдает вот такую ошибку:
"Project Project1.exe raised exception class EdatabaseError with massage ''DataSource1: Circular datalinks are not allowed''. Process stopped. Use Step or Run to continue."

Нажимаю ОК выделяет строчку: "DataSource1.DataSet:=Query1"

Я не знаю может что-то в SQL надо прописать т.к. я там ничего не писал!
С SQL я делал только это:
Создал Query.
Поставил:Action: False (на True не ставится)
DatabaseName: STABDART1
DataSource: DataSource1
Name: Query1 (стандартно не менял)


Ну и текст программы (на всякий случай):

unit Unit1;

interface

uses
windоws, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, Db, DBTables;

type
TForm1 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
Query1: TQuery;
procedure Button2Click(Sender: TоЬjесt);
procedure Button1Click(Sender: TоЬjесt);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button2Click(Sender: TоЬjесt);
begin
Form1.Close;
end;

procedure TForm1.Button1Click(Sender: TоЬjесt);
var
s: string[50];
begin
s := InputЬох(''Поиск'',''Введите фамилию и нажмите OK'','''');
if s <> '''' then
begin
with form1.Query1 do begin
Close;
SQL.Clear;
SQL.Add(''SELECT Famil, Name, Telefon'');
SQL.Add(''FROM ":STANDARD1:Table 1.db"'');
SQL.Add(''WHERE'');
SQL.Add(''(Famil = "''+ s + ''")'');
SQL.Add(''ORDER BY Name, Famil'');
Open;
end;
if Query1.RecordCount <> 0 then
DataSource1.DataSet:=Query1
else begin
ShowMessage(''Нет записей.'');
DataSource1.DataSet:=Table1;
end;

Помогите пожалуйста!
Заранее спасибо!
Post #: 1
Поиск в Базе Данных (.db) на Delphi - 2006-03-22 15:43:27   
Python

Сообщений: 4964
Оценки: 0
Присоединился: 2005-12-14 08:32:13
Zorro_13, ваще тЫ зря старался. Тут народ ленивЫй, больше двух строчек, читать не любит.
Post #: 2
Поиск в Базе Данных (.db) на Delphi - 2006-03-29 00:15:06   
BAZ

Сообщений: 16
Оценки: 0
Присоединился: 2005-02-04 20:33:32
если тебе нужен только вывыод записей по определенному имени, тогда забей на query, юзай table, в свойство filter заносишь нужное имя, например

table1.filter:='имя='+''''+'Вася'+'''';

ну или естественно 'имя='+'+edit1.text+', где edit1.text, поле в которое вводишь нужное имя.

и ставишь table1.filtered:=true;

фсе
Post #: 3
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Поиск в Базе Данных (.db) на Delphi







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.