БД на Delphi

Тема в разделе "Компьютеры и софт", создана пользователем MadFish, 15 апр 2007.

  1. помогите, плизз, как создать связь один ко многим в Paradox?:wallbash:
    есть главная таблица с ключевым полем "табельный номер", и есть еще одна таблица (в ней тоже есть поле "табельный номер"), несколько записей которой должны соответствовать одной записи в главной таблице.
    ЗЫ: ни в одной книге не написано как это сделать (прям по шагам) :wallbash:
     
  2. #2 madvet, 16 апр 2007
    Последнее редактирование: 16 апр 2007
    Прежде всего - выкинуть Paradox и использовать какую-нибудь нормальную СУБД.
    Referential integrity в Database Desktop'е.
    Можно еще в окне кода перейти на вкладку Diagram, из Object TreeView перетащить нужные таблицы, нажать кнопку Master/Detail и установить нужную связь
     
  3. фильтр нужно сделать по полю, данные в которое вводятся из переменной, юзер набирает в форме число, оно уходит в переменную, затем при нажатии кнопки "Сохранить запись" на другой форме эта переменная записывается в текущую запись в нужное поле главной таблицы и я вычитал, что в датамодуле в свойстве Filter нужной таблицы надо писать <имя поля>=1, а мне надо <имя поля>=peremennaya...что собственно не получается...делфя понимает что это не переменная, а слово "peremennaya", находящееся в записях поля..и естессно не находит ничего, выдает ошибки, т.к. там цифры... как быть?
     
  4. В справке смотрел? С ходу пример оттуда:
    Table1.Filter := 'State = ' + QuotedStr('M*');
    Я вообще фильтрами никогда не пользовался, да и таблицы вообще не использую
     
  5. И снова проблема…
    Имеем две формы, на одной стоит куча Edit’ов и прочей мелочи для ввода данных в базу, на второй – DBGrid, привязанный к той же базе для общего просмотра (точнее привязана к SQL-запросу), как сделать, чтобы при клике на одной из записей в таблице во второй форме выходила первая форма для ее редактирования.
     
  6. Обрабатываешь событие грида, например, OnDblClick, в нем делаешь Форма.ShowModal, заполняешь Edit'ы значениями записи, вроде все просто :smile:
     
  7. пасиб, попробую ;)
     
  8. Интересует еще один вопрос:
    При попытке удалить запись из главной таблице выходит сообщение о том, что в подчиненной таблице есть связанные с ней (главной записью) записи и соответственно ничего не получается :(((, как удалить запись из главной таблицы вместе с записями подчиненной???
     
  9. Удали сначала из подчиненной связанные записи, тогда можно будет свободно удалить запись из главной таблицы
     
  10. проблема такая: создал параметрический запрос который выбирает диапазон дат

    Код:
    SELECT Adres, Dom, Pojar, Facticheski, Data_CUS, Data_pojar
    FROM "Disp.DB" Disp
    WHERE  Pojar = TRUE and Data_CUS>=:data1 and Data_CUS<=:data2
    в коде написал

    Код:
    with Query1 do
    begin
    close;
    query1.ParamByName('data1').Value:=strtodatetime(MaskEdit1.Text+' '+ComboBox1.text);
    query1.ParamByName('data2').Value:=strtodatetime(MaskEdit2.Text+' '+ComboBox2.text);
    open;
    end;
    и при попытке сделать запрос активным в инспекторе выдает ошибку Disp: Field 'data1' not found
    че за дела??? это же не поле а параметр
     
  11. и снова проблема:
    в одном из модулей нужно посчитать кол-во записей в таблице
    перевожу таблицу на первую запись
    пишу цикл от 1 до рекордкаунт
    в нем инкриментирую переменную
    но почему то именно с этой таблицей глюк, пишет, что кол-во записей 1 (даже вывел рекордкаунт на экран, пишет 1), хотя в реале 4
    че за дела?????
     
  12. У меня снова проблема: при создании дистрибутива программой InstallShield Express Borland Limited Edition на последнем шаге тестируя инсталляху, а точнее уже при копировании файлов на диск выдает такие 2 ошибки:

    Internal Error 25001.1615:
    Registration Costing:: CostAllISSelfRegEntries::MsiDatabaseOpenView(hDatabase, _T(Select * from ISSelfReg”),hView)

    Internal Error 25001. 6
    Registration Costing:: CostAllISSelfRegEntries::MsiViewExecute(hView,NULL)

    самое интересное, что прога устанавливается нормально после нажатия ОК на окнах с этими ошибками….

    И еще подвопрос:
    я не в курсе, надо мне дополнительно устанавливать BDEAdmin на комп, в который инсталлирую прогу. Так как на 2м этапе в пункте Objects/MergeModules стоят галочки на BaseRTL, BDE_ENT, DatabaseRTL
     
  13. А смысл? RecordCount - это же и есть количество записей?

    InstallShield'ом не пользовался, так что здесь не знаю. Использую Inno Setup
     
Загрузка...
Похожие темы
  1. Laida
    Ответов:
    14
    Просмотров:
    4.740
Общение на MLove.ru