1 2 3 4 5 |
INSERT INTO Teachers (КодУчителя, Фамилия, Имя, Отчество, Предмет, НомерТелефона) VALUES(1, Антипина, Светлана, Бронислововна, БД, 23432); INSERT INTO Teachers (КодУчителя, Фамилия, Имя, Отчество, Предмет, НомерТелефона) VALUES(2, Наговицына, Елена, Александровна, Информ, 21122); INSERT INTO Teachers (КодУчителя, Фамилия, Имя, Отчество, Предмет, НомерТелефона) VALUES(3, Сычева, Наталья, Витальевна, Информ, 21132); INSERT INTO Teachers (КодУчителя, Фамилия, Имя, Отчество, Предмет, НомерТелефона) VALUES(4, Сычёв, Даниил, Витальевич, Физра, 23444); INSERT INTO Teachers (КодУчителя, Фамилия, Имя, Отчество, Предмет, НомерТелефона) VALUES(5, Чепырина, Валентина, Александровна, Экология, 23422); |
← →
Whippi
(2003-01-13 15:56)
[0]
Что за фигня:
Написал простенький запрос к Аксесовской базе:
SELECT Изделия.*, Компоненты.*, Состав.*
FROM Изделия, Компоненты, Состав;
WHERE Изделия.ИЗД=Состав.ИЗД
AND Компоненты.КОМП=Состав.КОМП;
и выдало такую ошибку: Обнаружены символы за пределами инструкций SQL.
Но вот не вижу где ошибка. Ткните носом пожалуйста :))
← →
Delirium^.Tremens
(2003-01-13 15:58)
[1]
Русские символы
← →
Zz_
(2003-01-13 16:04)
[2]
FROM Изделия, Компоненты, Состав
;
← →
Whippi
(2003-01-13 16:11)
[3]
2Delirium^.Tremens:
Какие русские символы,пишу просто:
SELECT Изделия.*, Компоненты.*, Состав.*
FROM Изделия, Компоненты, Состав;прокатывает, только добавляю:
WHERE Изделия.ИЗД=Состав.ИЗД
AND Компоненты.КОМП=Состав.КОМП;
Выдает:Обнаружены символы за пределами инструкций SQL.
2Zz_
> FROM Изделия, Компоненты, Состав ;
А у меня что?
← →
stone
(2003-01-13 16:13)
[4]
после FROM Изделия, Компоненты, Состав не надо ставить ;
← →
Whippi
(2003-01-13 16:20)
[5]
Блиииииииииин,
спасибо за науку, впредь акуратнее буду примеры сдирать :))
#1 11.05.2020 13:59:47
- SuperDelfi
- Участник
- Зарегистрирован: 11.05.2020
- Сообщений: 1
Обнаружены символы за пределами инструкции
Необходимо было перехватить код, только что добавленной строки, использовал @@Identity т.к база данных находится на access
INSERT INTO [Автошкола]
([Фамилия], [Имя], [Отчество], [Пол], [Гражданство], [Дата_рождения], [Кол-во], [Категория], [Дата_приёма_на_работу], [Код_прохождения], [Код_принятия], [Код_должности], [Адрес_проживания], [Телефон])
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
SELECT @@IDENTITY
Выдаёт ошибку о том что «Обнаружены символы за пределами инструкции»
Крик души!
Неактивен
#2 11.05.2020 20:53:43
- deadka
- Администратор
- Зарегистрирован: 14.11.2007
- Сообщений: 2415
Re: Обнаружены символы за пределами инструкции
На данном форуме разбираются вопросы по MySQL, Вам имеет смысл обратиться на форум по Microsoft Access.
Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли…
Неактивен
|
|
|
Строка команды SQL
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Junior Рейтинг (т): 1 |
Подскажите, пожалуйста, какую строку команды запроса надо ввесли в объект OleDbCommand, чтобы считать две таблицы из БД? SELECT * FROM T1; «+» SELECT * FROM T2 «- выдает: «Обнаружены символы за пределами инструкции SQL» Сообщение отредактировано: Bas — |
Бобёр |
|
бухантер Рейтинг (т): 120 |
так вроде ж нельзя 2 сразу то.. |
Akina |
|
«SELECT * FROM T1 UNION SELECT * FROM T2;» |
Bas |
|
Цитата Akina @ SELECT * FROM T1 UNION SELECT * FROM T2; Если только структуры одинаковые. Цитата __Dim__ @ чтобы считать две таблицы из БД SELECT * FROM T1, T2 |
Akina |
|
Цитата Bas @ Если только структуры одинаковые. А иначе постановка вопроса теряет всякий смысл… |
jManiak |
|
А мне кажется Автору нужно просто выполнить два запроса к СУБД, но он хочет впихнуть их в однй операцию |
__Dim__ |
|
Junior Рейтинг (т): 1 |
Спасибо всем |
Akina |
|
Цитата __Dim__ @ необходимо загрузить все БД, хотя структуры таблиц разные Ну тогда это нерешаемо… или нужно все соответствующие выбираемые поля приводить к одинаковому типу, скажем строковому. SELECT CStr(Date) As Date, CStr(Amount) As Amount, Name FROM Table1 UNION SELECT CStr(Date(DateTime)), strValue, CStr(Articul) FROM T2 |
__Dim__ |
|
Junior Рейтинг (т): 1 |
Понятно, спасибо |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- Базы данных: Общие вопросы
- Следующая тема
[ Script execution time: 0,0264 ] [ 15 queries used ] [ Generated: 24.09.23, 15:07 GMT ]
Привет!
Использую OleDbCommand. В качестве запроса использую несколько операций INSERT. При выполнении команды (ExecuteNonQuery()) возникает исключение. Если в команде один INSERT все проходит хорошо, если несколько ничего не получается. В качестве разделителя все использовал и ; и GO и просто строками дробил. Как решить эту проблему?
Спасибо.
Здравствуйте, <Аноним>, Вы писали:
А>Использую OleDbCommand. В качестве запроса использую несколько операций INSERT. При выполнении команды (ExecuteNonQuery()) возникает исключение. Если в команде один INSERT все проходит хорошо, если несколько ничего не получается. В качестве разделителя все использовал и ; и GO и просто строками дробил. Как решить эту проблему?
А текст исключения является Вашей комерческой тайной или вы уверены, что он не может помочь ответить на вопрос?
Если подключить телепатию, то могу предположить, что OleDb провайдер попросту не поддерживает такие операции.
… << RSDN@Home 1.2.0 alpha rev. 665>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Если команды пишутся через «;», то выдается исключение:
System.Data.OleDb.OleDbException was caught
Message=»Обнаружены символы за пределами инструкции SQL.»
Source=»Microsoft JET Database Engine»
ErrorCode=-2147217900
StackTrace:
Если команды пишутся без «;», то выдается исключение:
System.Data.OleDb.OleDbException was caught
Message=»Произошла одна или несколько ошибок во время обработки команды.»
Source=»Microsoft JET Database Engine»
ErrorCode=-2147217900
StackTrace:
Здравствуйте, Аноним, Вы писали:
Так в чём проблема выполнить раздельно?
Открываешь транзакцию, выполняешь в цикле все команды, закрываешь транзакцию.
Отлов исключений ставишь там где надо.
I am Jack’s Bugged Code.
Здравствуйте, <Аноним>, Вы писали:
А>Если команды пишутся через «;», то выдается исключение:
А>System.Data.OleDb.OleDbException was caught
А> Message=»Обнаружены символы за пределами инструкции SQL.»
А> Source=»Microsoft JET Database Engine»
Очень сомневаюсь, что Джет поддерживает такой способ работы, как несколько команд, разделённых точкой с запятой.
… << RSDN@Home 1.2.0 alpha rev. 665>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, Аноним, Вы писали:
А>Использую OleDbCommand. В качестве запроса использую несколько операций INSERT. При выполнении команды (ExecuteNonQuery()) возникает исключение. Если в команде один INSERT все проходит хорошо, если несколько ничего не получается. В качестве разделителя все использовал и ; и GO и просто строками дробил. Как решить эту проблему?
Джет в принципе не умеет выполнять несколько команд, вызванных за раз. Команды GO там вовсе нет.
Сделайте два вызова.