Показать сообщение отдельно
  #14  
Старый 24.05.2008, 22:30
Жулик Жулик вне форума
Прохожий
 
Регистрация: 16.04.2008
Сообщения: 21
Репутация: 5
Сообщение

Люди помогите, очень надо очень, после завтра уже отчитываться надо, а я всё не могу решить эту проблему, уйму литературы перерыл, нигде нет этого...

При на жатии на кнопку т.е. при выполнении запроса на добавление записи в таблицу происходит исключение (ошибка) такого плана, там написано :"исключение класса EOleException с сообщением 'Неопознаная ошибка'"

Вот полный код, жирным и красным цветом выделено место положения курсора при ошибке:

Код:
procedure TForm4.FormCreate(Sender: TObject);
begin

    with ADOQuery1 do begin
         Close;
         SQL.Clear;
         SQL.Add('SELECT p.data, s.code_s, p.Code_p, s.Gruppa, s.Familia, s.Ima, s.Ochestvo, p.vid_Propuska, p.Kol_vo_chas' );
         SQL.Add('FROM stud s, propuski p');
         SQL.Add('WHERE s.code_s = p.code_s');
         SQL.Add('ORDER BY s.familia');
         Open;
     end;


     with ADOQuery2 do begin
         Close;
         SQL.Clear;
         SQL.Add('SELECT Familia FROM stud');
         SQL.Add('ORDER BY Familia');
         Open;
     end;
     ADOQuery2.First;
     While not ADOQuery2.Eof do begin
        ComboBox1.Items.Add(ADOQuery2.Fields[0].AsString);
        ADOQuery2.Next;
     end;
     
//---------------------------------------
     
     with ADOQuery3 do begin
         Close;
         SQL.Clear;
         SQL.Add('SELECT Gruppa FROM grupp');
         SQL.Add('ORDER BY Gruppa');
         Open;
     end;
     ADOQuery3.First;
     While not ADOQuery3.Eof do begin
        ComboBox2.Items.Add(ADOQuery3.Fields[0].AsString);
        ADOQuery3.Next;
     end;


end;


procedure TForm4.Button1Click(Sender: TObject);
begin
  with ADOQuery4 do begin
       Close;
       SQL.Clear;
       SQL.Add('INSERT INTO propuski ( code_s, Data, Vid_propuska, Kol_vo_chas )');
       SQL.Add('VALUES  ( (SELECT Code_s FROM stud WHERE Familia = :f ), :d, :v, :k)');

      
       Parameters.ParseSQL(SQL.Text,true);
       Parameters.ParamByName('v').Value:= ComboBox3.Text;         //вид пропуска
       Parameters.ParamByName('d').Value:= DateTimePicker1.Date;   //дата
       Parameters.ParamByName('k').Value:= Edit1.Text;             //количеставо часов
       Parameters.ParamByName('f').Value:= ComboBox1.Text;          //фамилия
       ExecSQL;

  end;

     with ADOQuery1 do begin
         Close;
         SQL.Clear;
         SQL.Add('SELECT p.data, s.code_s, p.Code_p, s.Gruppa, s.Familia, s.Ima, s.Ochestvo, p.vid_Propuska, p.Kol_vo_chas' );
         SQL.Add('FROM stud s, propuski p');
         SQL.Add('WHERE s.code_s = p.code_s');
         SQL.Add('AND p.Data    = :d');
         SQL.Add('AND s.familia = :f');
         SQL.Add('ORDER BY s.familia');
         Parameters.ParseSQL(SQL.Text,true);
         Parameters.ParamByName('d').Value:= DateTimePicker1.Date;
         Parameters.ParamByName('f').Value:= ComboBox1.Text;
         Open;
     end;
     
end;

procedure TForm4.ComboBox1Enter(Sender: TObject);    //фамилия
  Var i:integer;
begin
   With ADOQuery5 do begin
       Close;
       SQL.Clear;
       SQL.Add('SELECT DISTINCT familia FROM stud');
       SQL.Add('WHERE Gruppa  LIKE '+quotedStr(ComboBox2.Text));
       SQL.Add('ORDER by familia');
       Open;
   end;
   ADOQuery5.First;
   ComboBox1.Items.Clear;
   While not ADOQuery5.eof do        //Заполняем ComboBox1
   begin
      ComboBox1.Items.Add(ADOQuery5.Fields[0].AsString);
      ADOQuery5.Next;
   end;

end;

procedure TForm4.Button2Click(Sender: TObject);   //показ всех пропусков
Var i:integer;
begin
   with ADOQuery1 do begin
         Close;
         SQL.Clear;
         SQL.Add('SELECT p.data, s.code_s, p.Code_p, s.Gruppa, s.Familia, s.Ima, s.Ochestvo, p.vid_Propuska, p.Kol_vo_chas' );
         SQL.Add('FROM stud s, propuski p');
         SQL.Add('WHERE s.code_s = p.code_s');
         SQL.Add('ORDER BY s.familia, p.Date');
         Open;
     end;

end;

procedure TForm4.DateTimePicker1CloseUp(Sender: TObject);  //календарь

begin
   with ADOQuery1 do begin
         Close;
         SQL.Clear;
         SQL.Add('SELECT p.data, s.code_s, p.Code_p, s.Gruppa, s.Familia, s.Ima, s.Ochestvo, p.vid_Propuska, p.Kol_vo_chas' );
         SQL.Add('FROM stud s, propuski p');
         SQL.Add('WHERE s.code_s = p.code_s');
         SQL.Add('AND p.Data    = :d');
         SQL.Add('ORDER BY s.familia');
         Parameters.ParseSQL(SQL.Text,true);
         Parameters.ParamByName('d').Value:= DateTimePicker1.Date;
         Open;
     end;

end;

Может кто сталкивался с такой проблемой, прошу подскажите пажалуйста!
Ответить с цитированием