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

Запись в БД с параметрами. Ошибка синтаксиса в инструкции INSERT INTO

13.05.2015, 16:54. Показов 1335. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такой код
C#
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
string CONNECT_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ServiceDatabase.mdb";
                OleDbConnection myOleDbConnection = new OleDbConnection(CONNECT_STRING);
                OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();
                myOleDbCommand.CommandText = "INSERT INTO Intro_Nouname" +
                    "(First_Name, Second_Name, Last_Name, Time)" +
                    "VALUES(@textBox1, @textBox2, @textBox3, @vT)";
                myOleDbConnection.Open();
 
                OleDbParameter param = new OleDbParameter();
                param = myOleDbCommand.Parameters.Add(new OleDbParameter("@textBox1", OleDbType.VarChar, 20));
                param.Direction = ParameterDirection.Input;
                param.Value = textBox1.Text;
 
                param = myOleDbCommand.Parameters.Add(new OleDbParameter("@textBox2", OleDbType.VarChar, 20));
                param.Direction = ParameterDirection.Input;
                param.Value = textBox2.Text;
 
                param = myOleDbCommand.Parameters.Add(new OleDbParameter("@textBox3", OleDbType.VarChar, 20));
                param.Direction = ParameterDirection.Input;
                param.Value = textBox3.Text;
 
                param = myOleDbCommand.Parameters.Add(new OleDbParameter("@vT", OleDbType.VarChar, 20));
                param.Direction = ParameterDirection.Input;
                param.Value = vT;
 
                myOleDbCommand.ExecuteNonQuery();
Отказывается работать ссылаясь на последнюю строчку myOleDbCommand.ExecuteNonQuery();
так же ругается: "Ошибка синтаксиса в инструкции INSERT INTO."
Этот же самый код, но с меньшим количеством переменных, исправно работает в соседней форме)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.05.2015, 16:54
Ответы с готовыми решениями:

Ошибка синтаксиса в инструкции INSERT INTO
OleDbDataAdapter thisAdapter = new OleDbDataAdapter("select * from Заказ", myCon); OleDbCommandBuilder thisBuilder = new...

Ошибка синтаксиса в инструкции INSERT INTO.
public partial class Form4 : Form { DataGridView dgv; public Form4() { ...

Ошибка синтаксиса в инструкции INSERT INTO
Я уже неоднократно писал про БОЛЬШУЮ, просто ОГРОМНУЮ проблему при добавлении записей в БД. Сегодня я опять весь день боролся с этим....

10
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
13.05.2015, 17:06
какой тип у vT ?
0
0 / 0 / 0
Регистрация: 30.04.2014
Сообщений: 21
13.05.2015, 19:54  [ТС]
Стринговый
C#
1
string vT = DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss.fff");
0
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
14.05.2015, 09:09
а в базе наверное datetime\smalldatetime отсюда и ошибка будет
0
0 / 0 / 0
Регистрация: 30.04.2014
Сообщений: 21
15.05.2015, 07:57  [ТС]
Можно поподробнее?
0
 Аватар для wm_leviathan
214 / 214 / 73
Регистрация: 12.01.2011
Сообщений: 767
15.05.2015, 09:04
вы делаете Insert я увидел поле time, в базе это поле какого типа данных ?
0
478 / 241 / 74
Регистрация: 25.05.2012
Сообщений: 1,136
Записей в блоге: 1
15.05.2015, 09:50
Кирилл97,
не хватает пробела после имени таблицы

C#
1
2
3
myOleDbCommand.CommandText = "INSERT INTO Intro_Nouname " +
                    "(First_Name, Second_Name, Last_Name, Time) " +
                    "VALUES(@textBox1, @textBox2, @textBox3, @vT)";
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
15.05.2015, 10:16
Цитата Сообщение от NewOrdered Посмотреть сообщение
не хватает пробела после имени таблицы
В SQL этот пробел необязателен, так же, как и после VALUES. Скобка вполне является значимым разделителем.
1
0 / 0 / 0
Регистрация: 30.04.2014
Сообщений: 21
15.05.2015, 15:08  [ТС]
Цитата Сообщение от wm_leviathan Посмотреть сообщение
вы делаете Insert я увидел поле time, в базе это поле какого типа данных ?
Текстовый.
0
0 / 0 / 0
Регистрация: 30.04.2014
Сообщений: 21
16.05.2015, 19:12  [ТС]
Вообщем проблема решилась довольно странным образом... Ошибка крылась в названии поля БД - Time (!!!!!) Я так понял, что оно не допустимо для использования в коде. Может кому в будущем пригодится))
P.S. Может знает кто, есть ли список таки имен, переменных, значений и тд и тп, которые нельзя или нежелательно использовать в C#? Это бы облегчило написание кода многим недопрограммистам
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
18.05.2015, 09:25
Цитата Сообщение от Кирилл97 Посмотреть сообщение
Может знает кто, есть ли список таки имен, переменных, значений и тд и тп, которые нельзя или нежелательно использовать в C#?
В данном случае дело не в C#, а в СУБД. Для каждой СУБД есть список зарезервированных слов, которые нежелательно использовать в качестве имен объектов БД (таблиц, колонок и проч.). Поэтому по данному вопросу нужно смотреть доку по конкретной СУБД.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.05.2015, 09:25
Помогаю со студенческими работами здесь

Ошибка синтаксиса в инструкции INSERT INTO
Вылазит ошибка Ошибка синтаксиса в инструкции INSERT INTO. Уже многое пробовал, ничего не помогает. Может кто-нибудь знает, что делать?...

Ошибка синтаксиса в инструкции INSERT INTO
Добрый вечер! Помогите пожалуйста. Есть база на Access. Надо через форму C# добавить данные. В Departament добавляет без проблем. При...

Ошибка синтаксиса инструкции INSERT INTO
Пишу свою курсовую работу, это интерфейс для БД ACCESS. Написала половину кода, везде работал следующий обработчик для добавления записи в...

Ошибка синтаксиса в инструкции INSERT INTO
try { string com = string.Format("INSERT INTO (UserName, Login, Password, IsAdmin) VALUES...

Ошибка синтаксиса в инструкции INSERT INTO
При нажатии на кнопку выдает ошибку "Ошибка синтаксиса в инструкции INSERT INTO" Ссылаясь на "command.ExecuteNonQuery();"...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru