На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА
Прежде чем задать вопрос, зайдите в раздел FAQ, возможно там уже есть ответ на него.
Если вы хотите вставить код в сообщение, то пожалуйста выделяйте его тегом [code=dfp] ... [/сode].
Для этого используйте кнопку [code=dfp] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Delphi for PHP.
Модераторы: ViktorXP, vicis
  
> Проблема при добавлении записей через Query , Проблема при добавлении записей через Query
    Добрый день .
    Возникла проблема с добавлением записи в базу данных при использовании компоненты Query .
    Добавление записи происхожит таким образом :
    ExpandedWrap disabled
      <?php
              //Includes
              require_once("vcl/vcl.inc.php");
              use_unit("dbtables.inc.php");
              use_unit("forms.inc.php");
              use_unit("extctrls.inc.php");
              use_unit("stdctrls.inc.php");
       
              //Class definition
              class Unit1 extends Page
              {
                     public $Button1 = null;
                     public $Query1 = null;
                     function Button1Click($sender, $params)
                     {
                     $this->Query1->SQL="insert into table (q,a,z) values (Null,null,null)";
                     $this->Query1->Active=true;
       
       
                     }
       
              }
       
              global $application;
       
              global $Unit1;
       
              //Creates the form
              $Unit1=new Unit1($application);
       
              //Read from resource file
              $Unit1->loadResource(__FILE__);
       
              //Shows the form
              $Unit1->show();
       
      ?>

    В итоге при активайии компоненты в SQl дописывается директива LIMIT и добаление записи не происходит .
    Как избавится от етой директивы ?
    Сообщение отредактировано: ViktorXP -
      Насчёт LIMIT не знаю, но запрос я бы изменил на "insert into [table] ..."
        Лучше юзай все через ХП, а в php только параметрами кидайся.

        Цитата MIF @
        дописывается директива LIMIT

        Подозреваю, что в D4php компонент юзается только по назначению, т.е. именно для запросов, а не для IUD.

        Или попробуй перед выполнением указать
        ExpandedWrap disabled
          LimitCount = -1
        Сообщение отредактировано: Gluckodrom -
          однозначно $this->Query1->LimitCount = -1
          однозначно не использовать зарезервированных слов - преименуй таблицу table в другое имя например table1 или как уже писали [table]
          и всё будет работать

          ещё вариант с помощью компонента Database
          ExpandedWrap disabled
            $this->Database1->execute("insert into table (q,a,z) values (Null,null,null)");


          похожий вариант с параметрами
          ExpandedWrap disabled
            function SetSysParam($p_Name,$p_Value)
            /*  записать сист параметр  */
                            {
                            $query ='UPDATE param_sys  SET p_value=? WHERE (p_name=?)';
                            $xarray=array();
                            $xarray[]=$p_Value;
                            $xarray[]=$p_Name;
                            GetDBModule()->Database1->execute($query,$xarray);
                            }


          ещё вариант с Query (как null вставить нужно пробовать)
          ExpandedWrap disabled
                                $this->Query1->SQL = 'select q,a,z from table1'
                                $this->Query1->Append();
                                $this->Query1->q="1";
                                $this->Query1->a="2";
                                $this->Query1->z="3";
                                $this->Query1->Post();
                                $this->Query1->Refresh();
          Сообщение отредактировано: vicis -
            Всем спасибо за советы .
            На днях попробую их проверить .
            Сообщение отредактировано: gvidon -
            1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0251 ]   [ 14 queries used ]   [ Generated: 18.05.24, 03:45 GMT ]