Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.05;
Скачать: CL | DM;

Вниз

ADOQuery, SQL и MSAccess   Найти похожие ветки 

 
parovoZZ ©   (2006-02-17 23:15) [0]

Почему вот это работает
 begin
  Doc := WebBrowser.Document as IHTMLDocument2;
  Element := Doc.All.Item ("text", 0) as IHTMLElement;
  Mes := Element.outerText;
  SQL := "INSERT INTO Messages (Message, Author, Equipment, Date_Time) VALUES (prmMessage, prmUser, prmID, Now())";
  ADOQuery.Close;
  ADOQuery.SQL.Clear;
  ADOQuery.SQL.Add(SQL);
  ADOQuery.Parameters.ParamByName("prmMessage").Value := Mes;
  ADOQuery.Parameters.ParamByName("prmUser").Value := User_ID;
  ADOQuery.Parameters.ParamByName("prmID").Value := Equipment_ID;
  ADOQuery.ExecSQL;
  StatusBar.Panels[0].Text := "...";
  TrVChange (TObject (TrV), TrV.Selected);
 end;


и это тоже
      SysID := PTableData (Node.Parent.Data)^.ID;

      SQL := "SELECT Equipment, Equipment_ID FROM Equipments WHERE (Object=:prmID) and (System=:prmSys)";
      AdoQuery.Close;
      AdoQuery.SQL.Clear;
      AdoQuery.SQL.Add(SQL);
      AdoQuery.Parameters.ParamByName("prmID").Value := TableData.ID;
      ADOQuery.Parameters.ParamByName("prmSys").Value := SysID;
      AdoQuery.Open;


А вот это не работает
    begin
     Element := Doc.All.Item ("element", 0) as IHTMLElement;
     Mes := Element.getAttribute("value", 0);
     SQL := "INSERT INTO Equipments (System, Object, Equipment, Notes) VALUES (prmSys, prmObj, prmEquip, prmNote)";
     ADOQuery.Close;
     ADOQuery.SQL.Clear;
     ADOQuery.SQL.Add(SQL);
     ADOQuery.Parameters.ParamByName("prmSys").Value := PTableData (ParentNode.Parent.Data)^.ID;
     ADOQuery.Parameters.ParamByName("prmObj").Value := PTableData (ParentNode.Data)^.ID;
     ADOQuery.Parameters.ParamByName("prmEquip").Value := Mes;
     Element := Doc.All.Item ("text", 0) as IHTMLElement;
     Mes := Element.outerText;
     ADOQuery.Parameters.ParamByName("prmNote").Value := Mes;
     ADOQuery.ExecSQL;
    end;


пишет "ADOQuery: Parameter "prmSys" not found".

Если сделать так
SQL := "INSERT INTO Equipments VALUES (?, prmEquip,  prmSys, prmObj, prmNote)"
то работает, но я не знаю, что ставить вместо знака вопроса - там автоинкрементное поле.


 
Anatoly Podgoretsky ©   (2006-02-18 00:05) [1]

Ничего, сервер сам вставит, только надо указать явный список полей, как в первом примере.


 
ЮЮ ©   (2006-02-18 07:33) [2]

И где же в запросе
INSERT INTO Equipments (System, Object, Equipment, Notes) VALUES (prmSys, prmObj, prmEquip, prmNote)
параметры?

INSERT INTO Equipments (System, Object, Equipment, Notes) VALUES (:prmSys, :prmObj, :prmEquip, :prmNote)

Найди 4 отличия


 
parovoZZ ©   (2006-02-18 17:09) [3]


> только надо указать явный список полей, как в первом примере.

C таблицей в первом примере работает, второй пример с другой таблицей тоже работает, а с той же таблицей, но INSERT - не работает.


> INSERT INTO Equipments (System, Object, Equipment, Notes)
> VALUES (:prmSys, :prmObj, :prmEquip, :prmNote)
Найди 4 отличия

Результат: "ошибка синтаксиса в инструкции INSERT INTO".


 
parovoZZ ©   (2006-02-18 22:57) [4]

Ыца дрыца гоп цаца
Было так
     SQL := "INSERT INTO Equipments (Equipment_name, System, Object, Notes) VALUES (prmEquip, prmSys, prmObj, prmNote)";

Я сделал так
     SQL := "INSERT INTO Equipments (Equipment_name, System, Object_, Notes) VALUES (prmEquip, prmSys, prmObj, prmNote)";
И всё заработало. Что же такое Object в SQL ?

Почему вот это работает

SQL := "SELECT Object, Object_name FROM Equipments, Objects WHERE (System=:prmID) and (Object=Object_ID) GROUP BY Object, Object_name";


 
parovoZZ ©   (2006-02-19 00:03) [5]

И вдогонку
Можно как-то получить значение автоинкриментного поля (через триггер или ещё как) после запроса INSERT?


 
parovoZZ ©   (2006-02-19 18:01) [6]

Неужели никто не знает?



Страницы: 1 вся ветка

Текущий архив: 2006.03.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.05 c
2-1140168238
maep
2006-02-17 12:23
2006.03.05
IP, Hostname


3-1136799988
alexsis
2006-01-09 12:46
2006.03.05
Что такое BLOB ?


2-1140071565
Daria
2006-02-16 09:32
2006.03.05
работа с таблицами Word


2-1140004057
MIXER
2006-02-15 14:47
2006.03.05
про Edit


2-1139892953
Bolbes
2006-02-14 07:55
2006.03.05
MS SQL