На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА
Прежде чем задать вопрос, зайдите в раздел FAQ, возможно там уже есть ответ на него.
Если вы хотите вставить код в сообщение, то пожалуйста выделяйте его тегом [code=dfp] ... [/сode].
Для этого используйте кнопку [code=dfp] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Delphi for PHP.
Модераторы: ViktorXP, vicis
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Подскажите по DataAccess , DataBase, Query
    Добрый день. Подскажите, как создать таблицу и вставить в нее данные, используя компонент Query.
    Пишу типо так:
    ExpandedWrap disabled
      $this->Query1->SQL ='INSERT INTO .....';
      $this->Query1->????

    Что ставить вместо ???. Пробовал open(), getSQL(), не работает, ошибку не выдает, но записи не добавляет.
    Понятно, что можно сделать без использования компонент аля mysql_query...., но интересно, как через компонент.
    И еще вопрос. Например в делфи, надо очищать строку SQL перед добавлением новой, здесь надо такое делать??? Если да, то как? Функции типо ...->SQL->Clear() нет.
    Спасибо.
      Это можно сделать без компонента Query. Это умеет и сам Database
      ExpandedWrap disabled
        $this->Database->execute('INSERT INTO .....');
        Благодарю!
          Появился еще вопросик. Как можно вставить в Query1($this->Query1->SQL = 'SELCET ....';) запрос и выполнить его (сделать open()) изаользуя JavaScript/jQuery. Пробовал в процедуру, например, на той же кнопке в JavaScript вставить внутрь, но он не работает. Помогите, пожалуйста.

          ExpandedWrap disabled
                    //begin js
                    jQuery("#Edit3").val(value);
                    //end;
                    <?php
                    $this->Query1->close();
                    $this->Query1->SQL = 'SELECT ......... FROM db WHERE id='.$this->Edit3->Text;
                    $this->Query1->open();
                    ?>
          Сообщение отредактировано: lexastik -
            ты должен передать запрос на сервер. а оттуда вернуть результат. вдето в FAQ есть пример по вызову удаленной функции.
              Т.е. без перезагрузки страницы никак не получится? Данные в OpenGrid обновляются без перезагрузки страницы или это не то?
                зачем перегрузка страницы? xajax в помощь
                  Нашел пример в Установить OpenGrid, easyGrid да и в FAQ есть что-то подобное. Написал, но не работает. :(

                  ExpandedWrap disabled
                      function xxx($sender, $params)
                         {
                         $this->Edit3->Text = $params;
                         $this->Query2->close();
                         $this->Query2->SQL = 'SELECT ....';
                         $this->Query2->open();
                         }
                     
                       function OpenGrid1JSCellSelect($sender, $params)
                        {
                            ?>
                            //begin js
                            jQuery(document).ready(function ()
                            {
                            var params = jQuery("#OpenGrid1").getCell(jQuery('#OpenGrid1').getGridParam('selrow'),1);      
                            alert ('val='+params);
                            });
                            //end
                            <?php
                            echo $this->OpenGrid1->ajaxCall("xxx");
                        }


                  Пробовал как и в FAQ написано, там с DBGrid1 ....ajaxCall("xxx",array(DBGrid1)); а в "xxx" = $params[0], но тоже не работает. JavaScripter лежит на форме.

                  Может у меня AjaxScripter неправильно установился. Когда кидаю на форму, то у него иконки нет, но ошибок не пишет. Пути в файле с vcl на rpcl я заменил.

                  Даже почему то так не работает $this->AjaxScripter1->Script = "alert('TrumPumPum');";

                  vicis писал, что так работает. У меня почему то не работает. Все сходится, а ребеночек не наш. При записи -> список выпадает с функциями и т.п., но по нажатию на кнопку тишина, тупо перезагружается страница без всякого алерта..... :wall:
                  Сообщение отредактировано: lexastik -
                    Прежде чем работать с ajax нужно
                    1. почитать про ajax
                    2. взять стандартный пример из папки примеров и убедится что он у тебя работает
                    если не работает, то разбираться пока не заработает
                    3. включить отладку ajax и посмотреть что и куда отпраляется
                    4. убедится что в свойствах формы включено использование ajax

                    и начни без базы
                    переменную перечитай с сервера или ещё чего
                    база уже потом...
                    Сообщение отредактировано: vicis -
                      Цитата vicis @
                      Прежде чем работать с ajax нужно
                      ....
                      4. убедится что в свойствах формы включено использование ajax

                      и начни без базы
                      переменную перечитай с сервера или ещё чего
                      база уже потом...

                      Вот я лошара, 4 пункт то я и не включил!!!
                      СПАСИБО!!!!
                      Page1->UseAjax было false. :blush:
                      Сообщение отредактировано: lexastik -
                        оххх....теперь вылезла другая проблема. Аякс отрабатывает, но после выполнения пропадет OpenGrid, хотя в коде, который видно в отладке, он есть.
                        C DBGrid такого нет глюка.
                        Может опять какая то ошибка в скрипте...перепроверю на простом примере.
                        Не, в простом примере с 1 кнопкой на форме и 1 OpenGrid после вып скрипта грид не отрисовывается....

                        И еще вопрос, который потом точно встанет. При запуске страница на денвере ругается на xajax.inc.php на строки 360 и 1305.
                        Цитата

                        Deprecated: Assigning the return value of new by reference is deprecated in Z:\home\teeest3.ru\www\rpcl\xajax\xajax_core\xajax.inc.php on line 360

                        Deprecated: Assigning the return value of new by reference is deprecated in Z:\home\teeest3.ru\www\rpcl\xajax\xajax_core\xajax.inc.php on line 1305

                        Нашел на одном форуме типо закоментируйте эти строки 360, 1305. Закомментировал. Ошибки нет, но и не работает (например alert). :D
                        Сообщение отредактировано: lexastik -
                          Цитата lexastik @
                          пропадет OpenGrid

                          OpenGrid и ajaxCall
                          Цитата lexastik @
                          страница на денвере

                          ищи по форуму
                          писал много раз про Денвер
                            vicis, простите, но про ссылку не понял. Там 2 сообщения и вроде как без решения. Действительно что ли нет решения, придется использовать DBGrid? :(

                            Про Денвер читал Ваши посты сегодня. Пока оставлю, потому что в IDE работает, попозже попробую поставить все по отдельности, MySQL,appache,PHP.
                              Цитата lexastik @
                              Действительно что ли нет решения

                              здесь вроде нет решения
                              но код открыт, так что возможно решение будет кем то найдено

                              например был похожий глюк с TChart
                              там влиял порядок указания модулей в заголовке странице
                              а где то помнится нужно было выполнить функция DumpJSContext вроде при загрузке страницы...

                              я в реальных проектах использовал все гриды, кроме этого
                              т.к. он на мой взгляд наиболее сырой
                              исходи из возможностей компонентов или доточи
                                Ясно, БОЛЬШОЕ СПАСИБО! День сегодня убил прыгая с этими глюками))) Вы пишете, что использовали все гриды, и какой грид, на Ваш взгляд, более доработан для корректной работы?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


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