Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Активные темы » SQL запрос

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

Открыть новую тему     Написать ответ в эту тему

Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LoneWolfII
Это в ветку про Delphi надо.
Коротко - засовываешь содержимое TEST_BAK.sql в свойство SQL компонента T...Query и вызываешь метод ExecSQL. Но информацию, которая выдается командой BACKUP DATABASE в TEST_log_sql.log вроде как не получить. Для BACKUP DATABASE я бы использовал вызов osql c динамическим формированием и удалением файлов и выводом информации из лог-файла, например, в TMemo.

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 15:13 16-11-2015
LoneWolfII



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexzzy

Цитата:
Коротко - засовываешь содержимое TEST_BAK.sql в свойство SQL компонента T...Query и вызываешь метод ExecSQL. Но информацию, которая выдается командой BACKUP DATABASE в TEST_log_sql.log вроде как не получить. Для BACKUP DATABASE я бы использовал вызов osql c динамическим формированием и удалением файлов и выводом информации из лог-файла, например, в TMemo.

 
 Надо проверить такой подход.... но что-то мне подсказывает, что нужно подключаться к самой базе данных, вводя логин и пароль (который в моем методе не требуется, имея и так права админа)

Всего записей: 541 | Зарегистр. 03-10-2001 | Отправлено: 14:57 17-11-2015
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LoneWolfII
Так это тот же самый подход. Только вызывая osql посредством ShellExecute(Ex) надо дожидаться окончания выполнения процесса. Как - это уже отдельная тема (можно погуглить). В процессе ожидания, наверное, можно и лог читать.

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 19:06 17-11-2015
LoneWolfII



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexzzy

Цитата:
Коротко - засовываешь содержимое TEST_BAK.sql в свойство SQL компонента T...Query и вызываешь метод ExecSQL. Но информацию, которая выдается командой BACKUP DATABASE в TEST_log_sql.log вроде как не получить. Для BACKUP DATABASE я бы использовал вызов osql c динамическим формированием и удалением файлов и выводом информации из лог-файла, например, в TMemo.

 
 Пришлось пока использовать такой метод. Пытался использовать метод UniDump.BackupToFile от Devart - не работает (по крайней мере у меня). При указывании наименования базы, пишет "Недопустимое имя объекта".

Всего записей: 541 | Зарегистр. 03-10-2001 | Отправлено: 09:10 25-11-2015
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LoneWolfII,
Какой-нибудь T...Query
Заполнить его командой Backup и вызвать ExecSQL
 
Синтаксис команды BACKUP можно посмотреть здесь:
_https://msdn.microsoft.com/ru-ru/library/ms186865(v=sql.120).aspx
 
Тот, кто делает backup должен иметь на это право. Если считать: "Я же вошёл в винду, оно у меня всяко есть", то у Connection надо указать, чтобы не было запроса логина, испрользовалась аутентификация OC, ну и у MSSQL убедиться, что конкретной доменной учётке права предоставлены.

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 11:39 11-12-2015
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KDPoid

Цитата:
Какой-нибудь T...Query  
Заполнить его командой Backup и вызвать ExecSQL  
 
Синтаксис команды BACKUP можно посмотреть здесь:  
_https://msdn.microsoft.com/ru-ru/library/ms186865(v=sql.120).aspx

Этож уже обсудили и синтаксис тут приводился...

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 13:39 11-12-2015
Steepe_Hare



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, а можно сделать выборку и получить, скажем, 10 записей?
 
Что-то вроде 'select from .... order by ... desc' и здесь ограничить количество записей на выходе?

Всего записей: 1162 | Зарегистр. 27-10-2001 | Отправлено: 17:42 22-03-2017 | Исправлено: Steepe_Hare, 17:42 22-03-2017
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Steepe_Hare
можно, но синтаксис зависит от базы данных. В mysql это кляуза limit, в oracle - условие с rownum...

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 18:28 22-03-2017
vikkiv



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Steepe_Hare
select top 10 * from yourtable

Всего записей: 747 | Зарегистр. 10-11-2005 | Отправлено: 19:13 22-03-2017
Steepe_Hare



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vikkiv
landy
 
спасибо

Всего записей: 1162 | Зарегистр. 27-10-2001 | Отправлено: 13:00 23-03-2017
Unnicked

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
(del)

Всего записей: 1127 | Зарегистр. 19-08-2005 | Отправлено: 12:36 06-04-2017 | Исправлено: Unnicked, 00:29 07-04-2017
tahirg



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите текст запроса
 
В базе PrimaryDB.sqlite есть таблица products, в таблице есть столбец PROTEIN с цифрами 6.48999977111816 и подобными длинными. Нужно в столбце PROTEIN округлить до целых. Подскажите плиз

Всего записей: 1971 | Зарегистр. 23-03-2003 | Отправлено: 21:29 14-04-2017 | Исправлено: tahirg, 23:56 14-04-2017
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tahirg
см. round и cast

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 23:17 14-04-2017
tahirg



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexzzy
читал, ничего не понял, может текст подбросите? мне надо оноразово

Всего записей: 1971 | Зарегистр. 23-03-2003 | Отправлено: 23:28 14-04-2017
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tahirg
round(name) или cast(round(name) as integer) или cast(name as integer)...

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 23:48 14-04-2017
tahirg



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexzzy
видимо что то не так
писал
 
round(PROTEIN) - near "round": syntax error:  
cast(round(PROTEIN) as integer)  near "cast": syntax error:  
cast(PROTEIN as integer)  near "cast": syntax error:  
 
не работает

Всего записей: 1971 | Зарегистр. 23-03-2003 | Отправлено: 23:52 14-04-2017 | Исправлено: tahirg, 23:54 14-04-2017
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tahirg
Так работает?
select round(PROTEIN) as PROTEINROUNDED from products

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 00:29 15-04-2017
tahirg



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexzzy
команда выполнилась,  
27377 строки возвращены за 356мс из: select round(PROTEIN) as PROTEINROUNDED from products
но произошёл просто отбор, а округления нет

Всего записей: 1971 | Зарегистр. 23-03-2003 | Отправлено: 09:48 15-04-2017
Steepe_Hare



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а в каких задач уместнее использовать Left Join?
можете дать примеры?

Всего записей: 1162 | Зарегистр. 27-10-2001 | Отправлено: 13:43 15-04-2017
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tahirg
Попробуй select round(PROTEIN, -14) as PROTEINROUNDED from products
 
Все значения PROTEIN должны иметь одинаковое количество знаков после целой части.  
В приведенном числе 6.48999977111816 видим 14 знаков после точки.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 18:12 15-04-2017 | Исправлено: dneprcomp, 01:03 16-04-2017
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Активные темы » SQL запрос


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru