Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RFpro.ru: СУБД и Delphi/Lazarus


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Victor Pyrlik
Статус: Мастер-Эксперт
Рейтинг: 1028
∙ повысить рейтинг »
Тимошенко Дмитрий
Статус: Практикант
Рейтинг: 536
∙ повысить рейтинг »
Чичерин Вадим Викторович
Статус: Студент
Рейтинг: 357
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Базы данных / СУБД и Delphi/Lazarus

Номер выпуска:564
Дата выхода:16.03.2011, 14:30
Администратор рассылки:Gh0stik (Академик)
Подписчиков / экспертов:153 / 76
Вопросов / ответов:3 / 7

Вопрос № 119126: Здравствуйте уважаемые эксперты! Помогите начинающему. Ситуация такова: на форме имеется два DBGrid-а. В один выведены поля из одной таблицы базы данных (select * from table1 where gr=1). Требуется данные поля перенести в другую таблицу....


Вопрос № 61760: Здраствуйте Эксперты. Вопрос следующий есть ли возможность базы Access заставить работать самостоятельно, без установки Access....
Вопрос № 47972: Здравствуйте!!! Я уже давно програмирую в Delphi, но так и не научился сохранять отчеты в Word. Подскажите пожалуйства как это сделать правильно. Если можно то несколько способов. Огромное спасибо!...

Вопрос № 119126:

Здравствуйте уважаемые эксперты!
Помогите начинающему.
Ситуация такова:
на форме имеется два DBGrid-а. В один выведены поля из одной таблицы базы данных (select * from table1 where gr=1). Требуется данные поля перенести в другую таблицу. Они, соответственно, и будут во втором гриде. Подскажите, как эффективнее всего сделать инсерт.
Заранее спасибо.

Отправлен: 18.01.2008, 09:37
Вопрос задал: Cerby
Всего ответов: 3
Страница вопроса »


Отвечает BlackRaider :
Здравствуйте, Cerby!

Если действительно нужен инсерт в другую таблицу то можно использовать запрос такого плана :
INSERT INTO table2 (pole2_1,pole2_2)
(Select pole1_1,pole1_2
from table1
where gr=1)
т.е. встявятся поля (pole1_1 и pole 1_2 с таблицы table1 в таблицу table2 которые удовлетворяют условию выборки из таблицы table1).

Ответ отправил: BlackRaider
Ответ отправлен: 18.01.2008, 09:47

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 205651 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Delph (Практикант) :
    Здравствуйте, Cerby!

    Вы не указали, какой конкретно сервер СУБД у Вас установлен. Для PostgreSQL хорошо работает такая конструкция:

    insert into table2(field1, field2, ..., fieldn)
    (select field1, field2, ..., fieldn from table1 where gr=1);

    Сработает ли этот способ для других серверов - не знаю. Впрочем, всегда можно сделать построчный перебор первой таблицы и занесение данных во вторую. Тогда Вам в программе придётся сформировать и выполнить insert во вторую таблицу для каждой строки первой. Россия, Саратов
    Тел.: 7-927-226-7358
    ICQ # 315100307

    -----
    Сомневайся во всём! Реальность часто бывает не такой, как мы о ней думаем.

    Ответ отправил: Delph (Практикант)
    Ответ отправлен: 18.01.2008, 09:55

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 205653 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Selya (Студент) :
    Здравствуйте, Cerby!
    Попробуй так:
    INSERT INTO Table2 ( здесь можно указать имена полей через запятую )
    SELECT *
    FROM Table1
    WHERE gr=1
    ORDER BY Ordr // сортировка по полю Ordr ICQ # 420962797

    Ответ отправил: Selya (Студент)
    Ответ отправлен: 18.01.2008, 10:18

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 205668 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 61760:

    Здраствуйте Эксперты. Вопрос следующий есть ли возможность базы Access заставить работать самостоятельно, без установки Access.

    Отправлен: 08.11.2006, 10:16
    Вопрос задал: Netizen (Практикант)
    Всего ответов: 3
    Страница вопроса »


    Отвечает sir Henry (Старший модератор) :
    Здравствуйте, Netizen!
    Вы можете извлекать данные из базы Access в свою программу, однако все остальные возможности (формы, отчеты и т.п.) доступны не будут. Россия, Красноярск

    -----
    Я только в одном глубоко убеждён - не надо иметь убеждений! :)

    Ответ отправил: sir Henry (Старший модератор)
    Ответ отправлен: 08.11.2006, 10:41

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 125498 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Jadd (Специалист) :
    Здравствуйте, Netizen!
    Да, можно. ODBC, ADO, OLE DB и тп.

    Адрес: Санкт-Петербург
    Адрес сайта: http://www.sport-diary.ru

    -----
    Если в сердце дверь закрыта, нужно в печень постучаться

    Ответ отправил: Jadd (Специалист)
    Ответ отправлен: 08.11.2006, 10:48

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 125501 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Синельников Сергей (4-й класс) :
    Здравствуйте, Netizen!
    Берем ADOConnection. Жмем кнопочку у свойства ConnectionString. Видим форму билдера построения строки соединения. Выбираем Use Connection String и жмем Build. Из списка провайдеров выбираем Microsoft Jet 4.0 OLE DB Provider и жмем далее. В строке имени базы данных собственно указываем имя базы данных. Указываем пользователя или пароль если необходимо и все. Готово. Россия, Ессентуки

    Ответ отправил: Синельников Сергей (4-й класс)
    Ответ отправлен: 10.11.2006, 19:43

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 126012 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 47972:

    Здравствуйте!!! Я уже давно програмирую в Delphi, но так и не научился сохранять отчеты в Word. Подскажите пожалуйства как это сделать правильно. Если можно то несколько способов.

    Огромное спасибо!

    Отправлен: 03.07.2006, 07:09
    Вопрос задал: Столяренко Олег
    Всего ответов: 1
    Страница вопроса »


    Отвечает Устинов С.Е. (Профессионал) :
    Здравствуйте, Столяренко Олег!

    Вот здесь в разделе OLE Automation MSOffice - [77] есть куча статей на эту тему.

    Есть несколько подходов к работе с Word.
    1. Работа через COM-сервера.
    На форме нужны компоненты WordApplication и WordDocument с палитры Servers.
    WordApplication1.Connect // Подключение к Word
    WordApplication1.AutoQuit:=false;
    with WordDocument1 do
    begin
    Connect; //соединение с документом далее все настройки не обязательны, можно сразу писать текст в документ, но я все-таки прокоментирую настройки, чтоб Вам было меньше искать.
    PageSetup.Orientation:=wdOrientPortrait; //положение страницы
    PageSetup.TopMargin:=29; //поля страницы
    PageSetup.LeftMargin:=29;
    PageSetup.RightMargin:=29;
    PageSetup.BottomMargin:=29;
    PageSetup.PaperSize:=wdPaperA4; //размер бумаги
    with Range do
    begin
    Paragraphs.Format.FirstLineIndent:=0; // отступ первой строки абзаца
    Font.Size:=14; //размер шрифта всего документа
    Font.Bold:=0; //не жирный
    Italic:=0; //не курсив
    Paragraphs.Format.Space1; //одинарный интервал
    Paragraphs.Item(1).Range.Font.Size:=18; //размер шрифта первого параграфа
    Paragraphs.Item(1).Range.Font.Bold:=1; //жирный
    Paragraphs.Item(1).Range.Font.Italic:=1; //курсив
    Paragraphs.Item(1).Format.Alignment:=wdAlignParagraphCenter; //положение на странице - по центру
    Paragraphs.Item(1).Range.InsertAfter(\'Первая строка текста\'); //вставка первой строки
    Paragraphs.Item(1).Range.InsertParagraphAfter; //новый параграф
    Paragraphs.Item(2).Format.Alignment:=wdAlignParagraphJustify; //растягивание по ширине
    Paragraphs.Item(2).Range.Font.Size:=14; //размер шрифта
    Paragraphs.Item(2).Range.Font.Bold:=0;
    Paragraphs.Item(2).Range.Font.Italic:=0;
    Paragraphs.Item(2).Range.InsertAfter(\'вторая строка\');
    Paragraphs.Item(2).Range.InsertParagraphAfter;
    Paragraphs.Item(3).Range.InsertBreak(7); //разрыв страницы новая страница - с цифрой 7 поэкспериментируйте - разные цифры - разные разрывы
    end;
    Disconnect; //отключаемся от документа
    end;
    WordApplication1.Visible:=True; //отображаем Word
    WordApplication1.Disconnect; //отключаемся от Word

    2. Работа через OLE
    К сожалению, под рукой сейчас нет примера, на котором можно было бы понятно это объяснить, но по ссылке выше Вы найдете много статей на эту тему, а учиться никогда не поздно :)

    Удачи! Украина, Славянск
    Организация: SlavComp
    Адрес сайта: Физико-математический факультет СГПУ
    ICQ # 4343069

    -----
    Ждешь квалифицированного ответа? Задай правильно вопрос!

    Ответ отправил: Устинов С.Е. (Профессионал)
    Ответ отправлен: 03.07.2006, 11:17

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 105242 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    подать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.



    В избранное