На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Обязательно указание:
1) типа базы данных (Paradox/Oracle/Interbase и т.п.)
2) способа доступа к базе данных (ODBC/ADO/DAO/BDE и т.п.)
Например: Paradox/BDE, MS Access/ADO

Наиболее часто задаваемые вопросы:
Базы даных для начинающих. Первые шаги. Понятие о BDE.
Переход на клиент-сервер и начала ADO
Приёмы работы с BLOB (OLE/Memo) полями
Запросы и параметры или как избавиться от многих проблем. Проблемы с датами в запросах.
Нужели мне нужно устанавливать BDE? (или почему не работает программа на другом компьютере)
Модераторы: Bas, Rouse_
  
> Ошибка: EOleException
    Добрый день! просмотрите пожалуйста этот проект,и подскажите в чем моя ошибка,т.к. я никак не могу ввести данные(причем новые). То бишь,в бд цеха:1,2,3,4,5,6,7,8,10. И я хочу,например,вставить цех 10,не буду же я лезть в БД и вручную писать новые цеха. Вроде бы и прописала. Но все равно возникает эта ошибка:
    Прикреплённый файлПрикреплённый файл_______________5a.jpg (39,43 Кбайт, скачиваний: 675)


    ExpandedWrap disabled
      unit Vvod;
       
      interface
       
      uses
        Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
        Dialogs, StdCtrls, DB, Grids, DBGrids, wwdblook, ExtCtrls, ComCtrls,
        Wwdbigrd, Wwdbgrid, wwdbdatetimepicker, Mask, wwdbedit, Wwdotdot,
        Wwdbcomb, Wwkeycb, DBCtrls;
       
      type
        TForm2 = class(TForm)
          Button1: TButton;
          OpenDialog1: TOpenDialog;
          Label7: TLabel;
          tipi: TwwDBLookupCombo;
          Label1: TLabel;
          cex: TwwDBLookupCombo;
          Label9: TLabel;
          data: TwwDBDateTimePicker;
          Label10: TLabel;
          Label11: TLabel;
          Edit2: TEdit;
          Label12: TLabel;
          wwDBComboDlg1: TwwDBComboDlg;
          Button4: TButton;
          Button5: TButton;
          wwDBGrid2: TwwDBGrid;
          wwDBLookupCombo1: TwwDBLookupCombo;
          Button6: TButton;
          Button7: TButton;
          procedure Button1Click(Sender: TObject);
          procedure Button2Click(Sender: TObject);
          procedure wwDBComboDlg1Enter(Sender: TObject);
          procedure Button3Click(Sender: TObject);
          procedure Button6Click(Sender: TObject);
          procedure Button7Click(Sender: TObject);
       
       
       
       
          
        private
          { Private declarations }
       
        public
          { Public declarations }
        end;
       
      var
        Form2: TForm2;
       
      implementation
               uses fr,xr,Unit5,Unit6,FmxUtils;
      {$R *.dfm}
       
       
       
       
      procedure TForm2.Button1Click(Sender: TObject);
      begin
      dm.Query.SQL.Clear;         //очищаем
      dm.Query.SQL.Text:= 'Insert into naryadi (ceh,data,N_zakaz,N_naryad,Tip_dok,path ) Values ('''+cex.Text+''','''+data.Text+''','''+wwDBLookupCombo1.Text+''','''+Edit2.Text+''','''+tipi.Text+''','''+wwDBComboDlg1.Text+''')';     //добавляем поля в нужный компонент
      dm.Query.ExecSQL;          // передаем запрос для выполнение на сервер.
       
      dm.Main.SQL.Clear;
      dm.Main.SQL.Text:= 'select * from [naryadi]';
      dm.Main.Open;    
       
      dm.Main.Last;     //указывает на текущую строку
       
       
      procedure TForm2.Button2Click(Sender: TObject);
      begin
      if MessageDlg('Вы уверены,что хотите удалить запись?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
          dm.Main.Delete;
      end;
       
      procedure TForm2.wwDBComboDlg1Enter(Sender: TObject);
      begin
          if OpenDialog1.Execute then
        begin
         if not (dm.Main.State in [dsInsert,dsEdit]) then
         //dm.Main.Edit;
        Form2.wwDBComboDlg1.Text:= OpenDialog1.FileName;
       // dm.Main.Post;
       
      end;
      end;
       
      procedure TForm2.Button3Click(Sender: TObject);
      begin
            Application.CreateForm(TForm5, Form5);
            Form5.ShowModal;
      end;
       
       
       
       
       
      procedure TForm2.Button6Click(Sender: TObject);
      begin
            Application.CreateForm(TForm6, Form6);
            Form6.ShowModal;
      end;
       
       
       
       
      procedure TForm2.Button7Click(Sender: TObject);
      var Path1, Path2 , Path3: String;
      begin
      Path1 := Form2.wwDBComboDlg1.Text;
      Path2 := '\\Fs\наряды\'+cex.Text+'\'+data.Text+'\'+cex.Text+'_'+wwDBLookupCombo1.Text+'_'+Edit2.Text+'.tif';
      Path3 := '\\Fs\наряды\'+cex.Text+'\'+data.Text;
      if DirectoryExists(Path3)=false then
      begin
        if ForceDirectories(Path3) then
        CopyFile(Path1,Path2);
      end;
      end;
      end.



    после такого результата,при нажатии кнопки F8,показывают на такие строки:
    ExpandedWrap disabled
      dm.Main.SQL.Clear;
    и
    ExpandedWrap disabled
      dm.Main.Last;
    . что не так? Работаю с MSSQL 2000,Delphi 7
    Сообщение отредактировано: staziah2 -
      Проблема с foreing key. Могу предположить что проблема в типах , возможно таблице che поле che разного типа.
      Структуру таблиц покажите.
      Цитата staziah2 @
      после такого результата,при нажатии кнопки F8,показывают на такие строки:
      dm.Main.SQL.Clear;

      Не смогла выполнить dm.Query.ExecSQL;
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0267 ]   [ 17 queries used ]   [ Generated: 2.05.24, 18:37 GMT ]