Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 0
Регистрация: 23.09.2015
Сообщений: 43

Запрос для получения временной таблицы

14.03.2016, 13:23. Показов 2371. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При построении запроса столкнулся с проблемой, выполняется только первый запрос из строки, остальные игнорируются. Что нужно использовать при подключении к базе, чтобы была возможность выполнения последовательности запросов?
Вот это использую для подключения к базам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using (OleDbDataAdapter adapter = new OleDbDataAdapter(sql, _connection))
                {
                    using (DataSet dataSet = new DataSet())
                    {
                        adapter.Fill(dataSet);
                        string b = dataSet.GetXml();
                        
                        for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)
                        {
                            tfsRecord.Add(FillHistoryString(dataSet.Tables[0], i));// + q.ToString()); 
                        }
                    }
                }
Сам запрос:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"CREATE TABLE History " +
                "(" +
                    "Ordernum INTEGER, " +
                    "Date DATE NOT NULL, " +
                    "Firstname VARCHAR(50), " +
                    "Lastname VARCHAR(50), " +
                    "Notes TEXT, " +
                    "FirstnameA VARCHAR(50), " +
                    "LastnameA VARCHAR(50)" +
                //"PRIMARY KEY (Ordernum)" +
                "); " +
 
                "INSERT INTO History "+
                "(Ordernum, Date, Firstname, Lastname, Notes) " +
                "SELECT DB.ordernum, DB.dateevent, U.firstname, U.lastname, DB.notes " +
                "FROM REOPEN.dbf as DB JOIN USERS.dbf AS U ON DB.iduser=U.idrecord WHERE DB.iddefrec=" + bugNumber + "; " +  
"SELECT * FROM History ORDER BY Ordernum; ";
Такой запрос ничего не выдаст.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.03.2016, 13:23
Ответы с готовыми решениями:

Sql запрос для получения количества строк и имени таблицы
Здравствуйте ! Я хочу сделать такой запрос Select Count(*) From TableName Select @TableName По отдельности я могу получить значение , а...

LINQ - запрос для получения разделенных данных из одной таблицы
Здравствуйте! Entity Framework 6, C#. Имеется таблица &quot;участник&quot; и таблица &quot;протокол&quot;. Связь - 1 ко многим. C протоколом...

Запрос на сравнение по значению из временной таблицы
Доброго времени суток! Помогите правильно понять логику составления запроса по выборке. Суть поставленной задачи: выбрать count...

12
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
14.03.2016, 14:45
Цитата Сообщение от Bill77 Посмотреть сообщение
была возможность выполнения последовательности запросов
Почему нельзя выполнять их последовательно?
0
1 / 1 / 0
Регистрация: 23.09.2015
Сообщений: 43
14.03.2016, 15:58  [ТС]
Буду благодарен, если расскажете как мне их последовательно выполнить.
0
1 / 1 / 0
Регистрация: 23.09.2015
Сообщений: 43
16.03.2016, 09:18  [ТС]
Почему нельзя выполнять их последовательно?
Единственный способ выполнения запросов который я знаю, это через открытие соединения. Есть более адекватные методы?
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
16.03.2016, 09:42
Цитата Сообщение от Bill77 Посмотреть сообщение
Единственный способ выполнения запросов который я знаю, это через открытие соединения. Есть более адекватные методы?
Вы наивно полагаете, что можно выполнять запросы к базе данных не подключаясь к ней? Без подключения никак.
Цитата Сообщение от Bill77 Посмотреть сообщение
Буду благодарен, если расскажете как мне их последовательно выполнить.
Под последовательно подразумевалось выполнение каждой команды в отдельном запросе, вместо того, чтобы запихать все команды в один запрос. Не все БД поддерживают пакетное выполнение запросов.
0
1 / 1 / 0
Регистрация: 23.09.2015
Сообщений: 43
16.03.2016, 11:26  [ТС]
Цитата Сообщение от kodv Посмотреть сообщение
Вы наивно полагаете, что можно выполнять запросы к базе данных не подключаясь к ней? Без подключения никак.
На самом деле мне нужны так называемые "free table" и подключение не требуется к БД.

Цитата Сообщение от kodv Посмотреть сообщение
Под последовательно подразумевалось выполнение каждой команды в отдельном запросе, вместо того, чтобы запихать все команды в один запрос.
В смысле вот так?
C#
1
2
3
4
5
using (OleDbDataAdapter adapter = new OleDbDataAdapter(sql, _connection))
                {
using (OleDbDataAdapter adapter = new OleDbDataAdapter(sql1, _connection))
{}
}
И так далее? Тогда это смысла не имеет, задача почти так сейчас и выполняется.

А можете подсказать насчёт пакетного выполнения запросов? Как организовать и через что?
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
16.03.2016, 11:59
Цитата Сообщение от Bill77 Посмотреть сообщение
На самом деле мне нужны так называемые "free table" и подключение не требуется к БД.
Если вы не создадите подключение к БД, то вы не сможете выполнять запросы к этой самой БД. Это примерно как разговаривать по телефону не используя каналы связи. Если вам и не нужно выполнять эти запросы, то можно и без соединения с БД. Но вам виднее, как это должно быть. Что вы имел ввиду под "free table" я не понял.
Цитата Сообщение от Bill77 Посмотреть сообщение
А можете подсказать насчёт пакетного выполнения запросов? Как организовать и через что?
У вас уже есть пактный запрос. Пкетный запрос - это запрос, который содержит в себе несколько команд. Поддерживать выполнение пакетных запросов должен провайдер БД. Вполне возможно, что ваш не поддерживает.
0
1 / 1 / 0
Регистрация: 23.09.2015
Сообщений: 43
16.03.2016, 13:06  [ТС]
Цитата Сообщение от kodv Посмотреть сообщение
У вас уже есть пактный запрос. Пкетный запрос - это запрос, который содержит в себе несколько команд. Поддерживать выполнение пакетных запросов должен провайдер БД. Вполне возможно, что ваш не поддерживает.
Вот это совсем печально.

А насчёт подключения к БД, я подключаюсь к файлам-таблицам, поэтому подключение к БД не использую.
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
16.03.2016, 13:42
Цитата Сообщение от Bill77
А насчёт подключения к БД, я подключаюсь к файлам-таблицам, поэтому подключение к БД не использую.
Вы уверены в своих словах? Я, конечно, не имею глубокиз знаний в dbf, но, насколько я знаю, подключение происходит к провайдеру БД, по средством которого выполняются запросы к файлам данных. Если бы вы к каждому файлу подключались по отдельности, то вы бы не могли одновременно из двух файлов выбирать, а в своем запросе вы это делаете.
0
1 / 1 / 0
Регистрация: 23.09.2015
Сообщений: 43
16.03.2016, 13:44  [ТС]
Цитата Сообщение от kodv Посмотреть сообщение
Вы уверены в своих словах? Я, конечно, не имею глубокиз знаний в dbf, но, насколько я знаю, подключение происходит к провайдеру БД
Ну, возможно я использую неверные термины. Но по сути провайдеру передаю директорию с файлами данных и внутри уже получаю доступ к файлам. Как таковой базы данных нету.
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
16.03.2016, 14:35
Цитата Сообщение от Bill77 Посмотреть сообщение
Как таковой базы данных нету
Ты действительно используешь неверные термины.
БД - это всегда файлы. Другое дело, что есть клиент-серверные БД, где для доступа к данным клиентская программа обращается к СУБД и файл-серверные БД, где клиентская программа сама осуществляет доступ к данным.
1
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
16.03.2016, 15:24
Лучший ответ Сообщение было отмечено Bill77 как решение

Решение

Цитата Сообщение от Bill77 Посмотреть сообщение
Буду благодарен, если расскажете как мне их последовательно выполнить.
Сначала хочу заметить, что провайдер, который вы используете для подключения к дбф, не поддерживает приведенный выше синтаксис. Поэтому:
1. Выполняете select запрос.
2. Создаете таблицу.
3. Импортируете результат запроса в созданную таблицу.

Можно сразу результат запроса как DataTable сохранять в дбф файл
https://www.cyberforum.ru/ado-... 20686.html
1
1 / 1 / 0
Регистрация: 23.09.2015
Сообщений: 43
16.03.2016, 15:46  [ТС]
Цитата Сообщение от Igr_ok Посмотреть сообщение
Сначала хочу заметить, что провайдер, который вы используете для подключения к дбф, не поддерживает приведенный выше синтаксис. Поэтому:
1. Выполняете select запрос.
2. Создаете таблицу.
3. Импортируете результат запроса в созданную таблицу.
Если это единственный вариант, то для меня большой разницы нету. Сейчас я запросами в цикле получаю по несколько строчек из каждой таблицы и сразу в List добавляю. Хотел уйти от цикла, но не получится.
Ответ я получил, тема не актуальна.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.03.2016, 15:46
Помогаю со студенческими работами здесь

Передача временной таблицы в запрос через параметр, не работает
Всем здрасте! Передаю таблицу в запрос... Таблица с формы УФ. Ну сначала манипуляции с таблицей, отбираю нужные поля и сворачиваю по...

Создание временной таблицы для добавления данных из нее в отчет
есть форма FormAddO. на ней прописан код VBA КОТОРЫЙ ДОБАВЛЯЕТ ДАННЫЕ в таблицу TmpTbl. в поле со списком когда выбираешь ИП после нажатия...

Запрос для получения среднего балла для каждого курса по каждому предмету
Здравствуйте. Есть готовая база данных из нескольких таблиц, нужно написать запрос в IBexpert из заголовка этой темы. Есть схожий...

Запрос для получения свободных пользователей
Есть две таблицы: 1) Пользователи; 2) Ученики; В каждой таблице есть user_id. Например, в таблице Пользователи есть 3 записи...

Создание временной таблицы,где ее название-переменная,названия столбцов-поля другой таблицы ..
Помогите,пож-ста,справиться со следующей проблемой. Есть главная таблица с полями:дата,игрок,время начала,время конца,номер корта. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru