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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #46  
Старый 05.09.2012, 12:23
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

ну так щас он нормально открывает их ... ошибок нету ... исправляй грехи в проекте и всё
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #47  
Старый 06.09.2012, 14:20
Andrej-zhe Andrej-zhe вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: Курск
Сообщения: 49
Репутация: 10
По умолчанию

Не могу понять почему виснет проект. У вас все нормально работает?
Ответить с цитированием
  #48  
Старый 06.09.2012, 14:47
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

а как же я проверю его зависание на пустых то таблицах? ))))) ...
скорее всего играет роль объем данных или где-то цыкл в коде
зы. я больше к первому вар-ту склоняюсь
зы2. рассмотри вариант перехода на сетевую субд (firebird, ms sql)
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #49  
Старый 06.09.2012, 17:29
Andrej-zhe Andrej-zhe вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: Курск
Сообщения: 49
Репутация: 10
По умолчанию

А как может влиять объем? Файл sbor.dbf я делал такого же объема как и самый большой из моих файлов. Тем более что пока я не использую этот файл, а остальные меньше чем sbor.dbf
Ответить с цитированием
  #50  
Старый 06.09.2012, 17:36
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

вопрос в кол-ве записей в каждой из таблиц с которыми проводятся операции + в структуре самих запросов - если они не оптимизированы - это тоже скажется на скорости
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #51  
Старый 07.09.2012, 09:11
Andrej-zhe Andrej-zhe вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: Курск
Сообщения: 49
Репутация: 10
По умолчанию

Сможите взглянуть, а то от меня требуют, а я боюсь не успеть. Только если можно мыло, а то не хотелось бы выкладывать файлики сюда.
При трасировке f7 виснет на
Код:
Query1.Open;
, до этого я не правильно строку написал.

Последний раз редактировалось Andrej-zhe, 07.09.2012 в 09:57.
Ответить с цитированием
  #52  
Старый 19.09.2012, 09:45
Andrej-zhe Andrej-zhe вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: Курск
Сообщения: 49
Репутация: 10
По умолчанию

Посмотрите пожалуйста добавляю данные из др таблицы. Правильно код будет выглядеть теперь?!
Код:
Query1.SQL.Text:='SELECT d.kodn, d.name, o.n, fio, date_wz, dp, dw FROM duh.dbf d, oper.dbf o, oper_ozo.dbf z, mklh.dbf m WHERE (d.type = o.type and d.subtype = o.subtype and d.kod = o.kod) AND (d.type = z.type and d.subtype = z.subtype and d.kod = z.kod) AND (o.n = m.nk)';
Query1.Open;
if Query1.RecordCount>0
  then
  begin
  tblSbor.TableName:='sbor.dbf';
  tblSbor.Open;
  while not Query1.Eof do
    begin
    tblSbor.Insert;
    //tblSbor.FieldByName('n').Value:=Query1.FieldByName('n').Value;
    tblSbor.FieldByName('kodn').Value:=Query1.FieldByName('kodn').Value;
    tblSbor.FieldByName('name').Value:=Query1.FieldByName('name').Value;
    tblSbor.FieldByName('fio').Value:=Query1.FieldByName('fio').Value;
    tblSbor.FieldByName('date_wz').Value:=Query1.FieldByName('date_wz').Value;
    tblSbor.FieldByName('dp').Value:=Query1.FieldByName('dp').Value;
    tblSbor.FieldByName('dw').Value:=Query1.FieldByName('dw').Value;
    tblSbor.Post;
    Query1.Next;
Ответить с цитированием
  #53  
Старый 05.12.2012, 07:44
Аватар для spawn-1212
spawn-1212 spawn-1212 вне форума
Прохожий
 
Регистрация: 03.12.2012
Сообщения: 25
Репутация: 10
Восклицание Вопрос

Ребят, подскажите пжл, как в Delphi7 при добавлении файла DBF указать нужные поля для отображения в Grid (т.е. в файлике DBF много столбцов, а мне нужно чтобы выводились 4: ФИО и д.р.)
Ответить с цитированием
  #54  
Старый 05.12.2012, 08:04
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от spawn-1212
Ребят, подскажите пжл, как в Delphi7 при добавлении файла DBF указать нужные поля для отображения в Grid (т.е. в файлике DBF много столбцов, а мне нужно чтобы выводились 4: ФИО и д.р.)
В TDBGrid есть свойство Columns в которое добавляешь (Add) только те колонки которые нужно отобразить.
И ещё в самом DataSet-е можно добавить только нужные поля (DataSet.Fields.Add() ).
А ещё если открывать DBF не через TTable, а через TQuery, то в запросе можно выбрать только нужные колонки.
Ответить с цитированием
  #55  
Старый 06.12.2012, 07:34
Аватар для spawn-1212
spawn-1212 spawn-1212 вне форума
Прохожий
 
Регистрация: 03.12.2012
Сообщения: 25
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
В TDBGrid есть свойство Columns в которое добавляешь (Add) только те колонки которые нужно отобразить.
И ещё в самом DataSet-е можно добавить только нужные поля (DataSet.Fields.Add() ).
А ещё если открывать DBF не через TTable, а через TQuery, то в запросе можно выбрать только нужные колонки.
Подскажи пожалуйста как это сделать не могу допетрить Columns нашёл, а далее туплю. И если не тяжело можешь подсказать, как сделать фильтр (скорей всего с помощью Query) по колонке R069 в ней дата, либо нет датыв формата 01.01.2013: если в этой ячеке есть дата, то выводить эту строку не надо (типо If R069 is null Then выводить колонки RFA, RIM, ROT, R003). Исходник с БД я выложил. ПОМОГИТЕ...
Вложения
Тип файла: rar 007.rar (339.8 Кбайт, 2 просмотров)
Ответить с цитированием
  #56  
Старый 06.12.2012, 11:45
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от spawn-1212
Подскажи пожалуйста как это сделать не могу допетрить Columns нашёл, а далее туплю.
Если нужно программно, то примерно так:
Код:
        grdTable.Columns.Clear; // Удаляем из DBGrid всё ранее добавленные колонки

        Clm := grdTable.Columns.Add; // Добавляем новую колонку
        Clm.FieldName := 'RKL';  // Привязываем эту колонку к полю с именем "RKL"
        Clm.Title.Caption := 'Ф.И.О.'; // Если нужно задаём заголовок колонки
        Clm.Width := 300;              // ширину, и другие параметры

        Clm := grdTable.Columns.Add; // Добавляем ещё одну колонку
        Clm.FieldName := 'R069';  // Привязываем эту колонку к другому полю
        // и так далее
Ещё можно добавлять колонки в TDBGrid в режиме разработки: Кликни дважды по DBGrid - появится небольшое окошко. Если DBGrid уже привязан к какой нибудь таблице, то нажми в этом окошке кнопку "Add All Fields" - добавятся колонки со всеми полями из таблицы - удали из списка ненужные, или если не привязан, то добавляй колонки по одному кнопкой "Add New (Ins)", привязывай к нужному полю свойством FieldName в "Инспекторе Объектов" и т.д.
Цитата:
Сообщение от spawn-1212
И если не тяжело можешь подсказать, как сделать фильтр (скорей всего с помощью Query) по колонке R069 в ней дата, либо нет датыв формата 01.01.2013: если в этой ячеке есть дата, то выводить эту строку не надо (типо If R069 is null Then выводить колонки RFA, RIM, ROT, R003).
Если через Query, то запрос будет примерно такой:
PHP код:
SELECT RFARIMROTR003 FROM "KADRY_.DBF" WHERE R069 IS NULL 
Ответить с цитированием
  #57  
Старый 06.12.2012, 12:10
Аватар для spawn-1212
spawn-1212 spawn-1212 вне форума
Прохожий
 
Регистрация: 03.12.2012
Сообщения: 25
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Если через Query, то запрос будет примерно такой:
PHP код:
SELECT RFARIMROTR003 FROM "KADRY_.DBF" WHERE R069 IS NULL 
Пишет:
Table is bussy.
Share violation.
File: C:\KADRY_.DBF
Ответить с цитированием
  #58  
Старый 06.12.2012, 12:33
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от spawn-1212
Пишет:
Table is bussy.
Share violation.
File: C:\KADRY_.DBF
Значит этот файл у тебя уже чем-то открыт (скорее всего в том же "FDBF : TDBF"). При работе с таблицами BDE открывает их в эксклюзивном режиме.
Ответить с цитированием
  #59  
Старый 06.12.2012, 12:43
Аватар для spawn-1212
spawn-1212 spawn-1212 вне форума
Прохожий
 
Регистрация: 03.12.2012
Сообщения: 25
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Значит этот файл у тебя уже чем-то открыт (скорее всего в том же "FDBF : TDBF"). При работе с таблицами BDE открывает их в эксклюзивном режиме.
Т.е. мне надо открывать BDF через BDE (и каким именно компонентом)?

Последний раз редактировалось spawn-1212, 06.12.2012 в 12:47.
Ответить с цитированием
  #60  
Старый 06.12.2012, 12:49
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от spawn-1212
Т.е. мне надо открывать BDF через BDE ?
Нужно делать всё на чём-то одном. Если для запросов используешь BDE-шную TQuery, то и для простого открытия используй BDE-шную TTable. Только я не знаю, нужно ли тебе связываться с BDE только для того чтобы просто отфильтровать записи по дате.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter