Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
andyS007
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 46
1

Ошибка синтаксиса в инструкции INSERT INTO при добавлении записей

28.02.2018, 19:21. Просмотров 245. Ответов 4
Метки нет (Все метки)

Здравствуйте!!!
Помогите разобраться... Есть код по нажатию на кнопку - происходит добавление в БД
Но выходит исключение
Необработанное исключение типа "System.Data.OleDb.OleDbException" в System.Data.dll
Дополнительные сведения: Ошибка синтаксиса в инструкции INSERT INTO.
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
using System.IO;
 
namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        API infonew = new API();
 
        public class API
        {
            private string put = System.Windows.Forms.Application.StartupPath.ToString();//opredelenie puti programmi
            private string strAccessConn;
            private string strAccessSelect;
            public DataSet myDataSet = new DataSet();
            private OleDbConnection myAccessConn = null;
            OleDbDataAdapter myDataAdapter = null;
            DataTableCollection dta = null;
            public System.Data.DataTable employ = new System.Data.DataTable();
            //System.Windows.Forms.
            public System.Data.DataTable SelectTable = new System.Data.DataTable(); //datatable dla gridwiewa
            public API()
            {
                strAccessConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + put + "\\Database1.accdb";
                strAccessSelect = "SELECT * FROM info";
                myAccessConn = new OleDbConnection(strAccessConn);
                OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect, myAccessConn);
                myDataAdapter = new OleDbDataAdapter(myAccessCommand);
                myAccessConn.Open();
                myDataAdapter.Fill(myDataSet, "info");
                dta = myDataSet.Tables;
                myDataAdapter.Fill(employ);
 
            }
            public void New_info(string familia, string imya, string otchestvo, string ulica, int kod_strani, int kod_goroda, int kod_pola, string grajdanstvo, int kod_razmera, string rost, string datarojd, string mob_tel, string dom_tel, string email, string skype, string soc_set, string stranaprozivania, string gorodprozivania, string index, string numdom, string numkorpus, string num_kvartira, string obrazovanie, string strana_obuch, string gorod_obuch, string name_zavedenie, string spec, string god_postuplenia, string rabota, string napr1, string napr2, string napr3, string napr4, string napr5, string passport, string datapassport, string deistviepassport, string organvidachi, string vidsporta1, string vidsporta2, string vidsporta3, string lang1, string lang2, string lang3, int kod_vl)
            {
                string com = "INSERT INTO info (familia, imya, otchestvo, ulica, kod_strani, kod_goroda, kod_pola, grajdanstvo, kod_razmera, rost, datarojd, mob_tel, dom_tel, email, skype, soc_set, stranaprozivania, gorodprozivania, index, numdom, numkorpus, num_kvartira, obrazovanie, strana_obuch, gorod_obuch, name_zavedenie, spec, god_postuplenia, rabota, napr1, napr2, napr3, napr4, napr5, passport, datapassport, deistviepassport, organvidachi, vidsporta1, vidsporta2, vidsporta3, lang1, lang2, lang3, kod_vl)" +
                    " values('" + familia + "','" + imya + "','" + otchestvo + "','" + ulica + "','" + kod_strani + "','" + kod_goroda + "','" + kod_pola + "','" + grajdanstvo + "','" + kod_razmera + "','" + rost + "','" + datarojd + "','" + mob_tel + "','" + dom_tel + "','" + email + "','" + skype + "','" + soc_set + "','" + stranaprozivania + "','" + gorodprozivania + "','" + index + "','" + numdom + "','" + numkorpus + "','" + num_kvartira + "','" + obrazovanie + "','" + strana_obuch + "','" + gorod_obuch + "','" + name_zavedenie + "','" + spec + "','" + god_postuplenia + "','" + rabota + "','" + napr1 + "','" + napr2 + "','" + napr3 + "','" + napr4 + "','" + napr5 + "','" + passport + "','" + datapassport + "','" + deistviepassport + "','" + organvidachi + "','" + vidsporta1 + "','" + vidsporta2 + "','" + vidsporta3 + "','" + lang1 + "','" + lang2 + "','" + lang3 + "','" + kod_vl + "')";
                OleDbCommand select = new OleDbCommand(com, myAccessConn);
                OleDbDataReader reader = select.ExecuteReader();
                reader.Read();
            }
        }
 
        public Form2()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            
            
            if (textBox2.Text != "")
            {
 
                infonew.New_info(textBox2.Text, textBox3.Text, textBox4.Text, textBox12.Text, comboBox2.SelectedIndex, comboBox3.SelectedIndex, comboBox1.SelectedIndex, textBox1.Text, comboBox4.SelectedIndex, textBox5.Text, dateTimePicker1.Text, textBox6.Text, textBox7.Text, textBox8.Text, textBox9.Text, textBox10.Text, comboBox5.Text, comboBox6.Text, textBox11.Text, textBox13.Text, textBox14.Text, textBox15.Text, textBox16.Text, comboBox7.Text, comboBox8.Text, textBox17.Text, textBox18.Text, dateTimePicker2.Text, textBox19.Text, comboBox9.Text, comboBox10.Text, comboBox11.Text, comboBox12.Text, comboBox13.Text, textBox20.Text, dateTimePicker3.Text, dateTimePicker4.Text, textBox21.Text, comboBox14.Text, comboBox15.Text, comboBox16.Text, comboBox17.Text, comboBox18.Text, comboBox19.Text, comboBox20.SelectedIndex);
 
                MessageBox.Show("Запись успешно добавлена!");
            }
            else
            {
                MessageBox.Show("Невозможно добавить запись без кода!!!");
            }
        }
 
        private void Form2_Load(object sender, EventArgs e)
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "database1DataSet.vladenielang". При необходимости она может быть перемещена или удалена.
            this.vladenielangTableAdapter.Fill(this.database1DataSet.vladenielang);
            // TODO: данная строка кода позволяет загрузить данные в таблицу "database1DataSet.lang". При необходимости она может быть перемещена или удалена.
            this.langTableAdapter.Fill(this.database1DataSet.lang);
            // TODO: данная строка кода позволяет загрузить данные в таблицу "database1DataSet.vidisporta". При необходимости она может быть перемещена или удалена.
            this.vidisportaTableAdapter.Fill(this.database1DataSet.vidisporta);
            // TODO: данная строка кода позволяет загрузить данные в таблицу "database1DataSet.napravlenie". При необходимости она может быть перемещена или удалена.
            this.napravlenieTableAdapter.Fill(this.database1DataSet.napravlenie);
            // TODO: данная строка кода позволяет загрузить данные в таблицу "database1DataSet.razmerodejdi". При необходимости она может быть перемещена или удалена.
            this.razmerodejdiTableAdapter.Fill(this.database1DataSet.razmerodejdi);
            
            // TODO: данная строка кода позволяет загрузить данные в таблицу "database1DataSet.pol". При необходимости она может быть перемещена или удалена.
            this.polTableAdapter.Fill(this.database1DataSet.pol);
            // TODO: данная строка кода позволяет загрузить данные в таблицу "database1DataSet.gorod". При необходимости она может быть перемещена или удалена.
            this.gorodTableAdapter.Fill(this.database1DataSet.gorod);
            // TODO: данная строка кода позволяет загрузить данные в таблицу "database1DataSet.Strana". При необходимости она может быть перемещена или удалена.
            this.stranaTableAdapter.Fill(this.database1DataSet.Strana);
 
        }
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            
        }
    }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2018, 19:21
Ответы с готовыми решениями:

Ошибка синтаксиса в инструкции INSERT INTO при добавлении записей
Здравствуйте!!! Помогите разобраться... Есть код по нажатию на кнопку - происходит добавление в БД...

Ошибка синтаксиса в инструкции INSERT INTO при добавлении записей
Не знаю как и что делать дальше. В чем ошибка, помогите пожалуйста с добавлением записи.

Ошибка синтаксиса Insert into при добавлении записи в БД Access
Я работаю на C#. Мне нужно создать в access таблицу Avtobuss. Она не создается OleDbConnection...

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

Ошибка синтаксиса в инструкции INSERT INTO
Здравствуйте. Пишу программу на C#, пытаюсь сделать форму для заполнения таблицы. При нажатии на...

4
Rius
Эксперт .NET
5432 / 3605 / 865
Регистрация: 25.05.2015
Сообщений: 10,919
Записей в блоге: 11
Завершенные тесты: 4
28.02.2018, 19:33 2
Читайте п. 2.4 Работа с подключенным уровнем ADO .NET в C#
0
Welcome20
51 / 45 / 31
Регистрация: 14.04.2015
Сообщений: 273
01.03.2018, 00:57 3
Цитата Сообщение от andyS007 Посмотреть сообщение
string com = "INSERT INTO info (familia, imya, otchestvo, ulica, kod_strani, kod_goroda, kod_pola, grajdanstvo, kod_razmera, rost, datarojd, mob_tel, dom_tel, email, skype, soc_set, stranaprozivania, gorodprozivania, index, numdom, numkorpus, num_kvartira, obrazovanie, strana_obuch, gorod_obuch, name_zavedenie, spec, god_postuplenia, rabota, napr1, napr2, napr3, napr4, napr5, passport, datapassport, deistviepassport, organvidachi, vidsporta1, vidsporta2, vidsporta3, lang1, lang2, lang3, kod_vl)" + " values('" + familia + "','" + imya + "','" + otchestvo + "','" + ulica + "','" + kod_strani + "','" + kod_goroda + "','" + kod_pola + "','" + grajdanstvo + "','" + kod_razmera + "','" + rost + "','" + datarojd + "','" + mob_tel + "','" + dom_tel + "','" + email + "','" + skype + "','" + soc_set + "','" + stranaprozivania + "','" + gorodprozivania + "','" + index + "','" + numdom + "','" + numkorpus + "','" + num_kvartira + "','" + obrazovanie + "','" + strana_obuch + "','" + gorod_obuch + "','" + name_zavedenie + "','" + spec + "','" + god_postuplenia + "','" + rabota + "','" + napr1 + "','" + napr2 + "','" + napr3 + "','" + napr4 + "','" + napr5 + "','" + passport + "','" + datapassport + "','" + deistviepassport + "','" + organvidachi + "','" + vidsporta1 + "','" + vidsporta2 + "','" + vidsporta3 + "','" + lang1 + "','" + lang2 + "','" + lang3 + "','" + kod_vl + "')";

Мда уж...по такому случаю проще написать процедуру, в крайнем случае конструкция INSERT выглядит так......


C#
1
2
3
4
command = new OleDbCommand("INSERT INTO [Auto] ([Marka], [GosNumber]) VALUES (@Marka, @GosNumber)", connect);
                
                    command.Parameters.AddWithValue("@Marka", marka);
                    command.Parameters.AddWithValue("@GosNumber", gosNumber);
0
hoolygan
356 / 283 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
01.03.2018, 10:01 4
Цитата Сообщение от Welcome20 Посмотреть сообщение
проще написать процедуру
У Access вроде как нет возможности писать процедуры.
А вот использовать параметры - это правильно.
0
MsGuns
537 / 537 / 57
Регистрация: 04.04.2011
Сообщений: 2,003
01.03.2018, 21:45 5
Цитата Сообщение от hoolygan Посмотреть сообщение
У Access вроде как нет возможности писать процедуры.
В акцесе есть поянтие "Запросы", в т.ч. параметрические
0
01.03.2018, 21:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2018, 21:45

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru