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

Ошибка синтаксиса в инструкции INSERT INTO

28.04.2016, 18:19. Показов 6594. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Пишу программу на C#, пытаюсь сделать форму для заполнения таблицы.
При нажатии на кнопку введенные данные должны вводиться в DGV, однако выводится ошибка "Ошибка синтаксиса в инструкции INSERT INTO.", с заголовком "OleDb Exeption не обработано". подскажите пожалуйста, как можно решить эту проблему. У друга все нормально работает.
Form1 (с DGV и кнопкой открытия второй формы)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
 
namespace Forms
{
    public partial class Form1 : Form
    {
        public OleDbConnection connection;
        public OleDbDataAdapter adapter;
        public OleDbCommand comm;
        public DataSet dataSet;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 child = new Form2(this);
            child.Show();
        }
 
        public void Add()
        {
            connection.Open();
            dataSet = new DataSet();
            adapter.Fill(dataSet);
            dataGridView1.DataSource = dataSet.Tables[0];
 
            connection.Close();
        } 
 
 
        private void Form1_Load(object sender, EventArgs e)
        {
            connection = new OleDbConnection(@"Provider=Microsoft.JET.OLEDB.4.0;Data Source=2КАССА.mdb");
 
 
 
            adapter = new OleDbDataAdapter("SELECT * FROM 10", connection);
            Add();
        }
    }
}
Form2 (textbox'ы и кнопка отправки)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
 
namespace Forms
{
    public partial class Form1 : Form
    {
        public OleDbConnection connection;
        public OleDbDataAdapter adapter;
        public OleDbCommand comm;
        public DataSet dataSet;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 child = new Form2(this);
            child.Show();
        }
 
        public void Add()
        {
            connection.Open();
            dataSet = new DataSet();
            adapter.Fill(dataSet);
            dataGridView1.DataSource = dataSet.Tables[0];
 
            connection.Close();
        } 
 
 
        private void Form1_Load(object sender, EventArgs e)
        {
            connection = new OleDbConnection(@"Provider=Microsoft.JET.OLEDB.4.0;Data Source=2КАССА.mdb");
 
 
 
            adapter = new OleDbDataAdapter("SELECT * FROM 10", connection);
            Add();
        }
    }
}
Буду рад любой помощи, заранее спасибо.
Вложения
Тип файла: 7z Form.7z (55.2 Кб, 13 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.04.2016, 18:19
Ответы с готовыми решениями:

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

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

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

4
999 / 358 / 135
Регистрация: 27.10.2006
Сообщений: 764
28.04.2016, 19:37
попробуйте так. Это код для кнопки1 на второй форме

только нужно заполнить все textbox на второй форме

C#
1
2
3
4
5
6
7
8
9
10
11
12
    private void button1_Click(object sender, EventArgs e)
        {
            otherForm.connection.Open();
            string SQL = "INSERT INTO [10] ([id],[fio],[teory],[vojdenie],[doplata],[itogo],[med],[god],[kp],[inst],[grafik]) VALUES (" + (otherForm.dataSet.Tables[0].Rows.Count + 1) + " ,'" + textBox1.Text + "'," + textBox2.Text + "," + textBox3.Text + "," + textBox4.Text + "," + textBox5.Text + ",'" + textBox6.Text + "','" + textBox7.Text + "','" + textBox8.Text + "','" + textBox9.Text + "','" + textBox10.Text + "')";
            otherForm.comm = new OleDbCommand(SQL, otherForm.connection);
            otherForm.comm.ExecuteNonQuery();
            DataSet dataSet = new DataSet();
            otherForm.adapter.Fill(dataSet);
            otherForm.adapter.Update(dataSet);
            otherForm.connection.Close();
            otherForm.Add();
        }
0
2 / 2 / 0
Регистрация: 19.11.2015
Сообщений: 16
28.04.2016, 19:46  [ТС]
Спасибо за ответ, но проблема уже решена.
Причина была банальна - я писал число для id в первый текстбокс, буквы во второй для fio и так далее. Оказалось что id заполняется самостоятельно, и в первый нужно было писать буквы )
Чувствую себя дебилом, я парился с этой фигней 4 часа и вдруг пришло озарение.
0
999 / 358 / 135
Регистрация: 27.10.2006
Сообщений: 764
28.04.2016, 20:09
мне кажется, что вам нужно переделать вашу таблицу и указать поле ID как "счётчик", чтобы он сам нумеровался +1, и тогда вам больше никогда не нужно будет указывать числа для поля ID, а начинать сразу с Fio и далее.

Сейчас у вас поле ID "числовое" и вам приходится вычислять, а потом вставлять число в это поле. Это может делать сама база, если дать полю ID тип "счётчик"
0
2 / 2 / 0
Регистрация: 19.11.2015
Сообщений: 16
28.04.2016, 20:14  [ТС]
Я же говорю, id заполняется сам.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.04.2016, 20:14
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru