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

База данных C# ошибка Insert Into

27.05.2015, 20:25. Просмотров 655. Ответов 4
Метки нет (Все метки)

Доброго времени суток всем пользователям форума !
Что произошло :
Подключил базу данных (ACCESS) к проекту. Вывел на форму через DataGridView.
Нужно сделать сохранение в базе.
Создал Класс,создал общий источник данных для всех таблиц, настроил адаптеры и т.п.
В общем ругается на 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;
 
namespace Методичка
{
    class Модификация
        
    {
        private string ConString = string.Empty;
        private DataSet dataSet = new DataSet ("databaseDataSet");
        OleDbDataAdapter adapter1 = null;
        OleDbDataAdapter adapter2 = null;
        OleDbDataAdapter adapter3 = null;
        OleDbDataAdapter adapter4 = null;
 
        OleDbCommandBuilder builder1 = null;
        OleDbCommandBuilder builder2 = null;
        OleDbCommandBuilder builder3 = null;
        OleDbCommandBuilder builder4 = null;
 
        public Модификация(string connectionString)
        {
            ConString = connectionString;
            ConfigureAdapter1(out adapter1);
            ConfigureAdapter2(out adapter2);
            ConfigureAdapter3(out adapter3);
            ConfigureAdapter4(out adapter4);
 
 
        }
        private void ConfigureAdapter1(out OleDbDataAdapter adapter1)
    {
        adapter1 = new OleDbDataAdapter("Select * From Боровичи", ConString);
        builder1 = new OleDbCommandBuilder(adapter1);
 
    }
 
        private void ConfigureAdapter2(out OleDbDataAdapter adapter2)
        {
            adapter2 = new OleDbDataAdapter("Select * From Окуловка", ConString);
            builder2 = new OleDbCommandBuilder(adapter2);
 
        }
 
        private void ConfigureAdapter3(out OleDbDataAdapter adapter3)
        {
            adapter3 = new OleDbDataAdapter("Select * From Хвойная", ConString);
            builder3 = new OleDbCommandBuilder(adapter3);
 
        }
        private void ConfigureAdapter4(out OleDbDataAdapter adapter4)
        {
            adapter4 = new OleDbDataAdapter("Select * From Валдай", ConString);
            builder4 = new OleDbCommandBuilder(adapter4);
 
        }
        public DataTable Заполнение1()
        {
            DataTable Таблица1 = new DataTable("Боровичи");
            adapter1.Fill(Таблица1);
            return Таблица1;
        }
 
        public DataTable Заполнение2()
        {
            DataTable Таблица2 = new DataTable("Окуловка");
            adapter2.Fill(Таблица2);
            return Таблица2;
        }
 
        public DataTable Заполнение3()
        {
            DataTable Таблица3 = new DataTable("Хвойная");
            adapter3.Fill(Таблица3);
            return Таблица3;
        }
 
        public DataTable Заполнение4()
        {
            DataTable Таблица4 = new DataTable("Валдай");
            adapter4.Fill(Таблица4);
            return Таблица4;
        }
 
        public void Сохранение1(DataTable modifiedTable)
        {
            adapter1.Update(modifiedTable);
        }
        public void Сохранение2(DataTable modifiedTable)
        {
            adapter2.Update(modifiedTable);
        }
        public void Сохранение3(DataTable modifiedTable)
        {
            adapter3.Update(modifiedTable);
        }
        public void Сохранение4(DataTable modifiedTable)
        {
            adapter4.Update(modifiedTable);
        }
    }
   }
 
Форма:
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
 
 
namespace Методичка
{
    
    public partial class Form1 : Form
    {
        Модификация Мод1 = null;
        DataSet Лицевые_Карточки = null;
        string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source =C:\Users\1\Desktop\Лицевые карточки.accdb";
        
        public Form1()
        {
            InitializeComponent();
            Мод1 = new Модификация(connectionString);
            Лицевые_Карточки = new DataSet();
            боровичиDataGridView.DataSource = Мод1.Заполнение1();
 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "лицевые_карточкиDataSet.Хвойная". При необходимости она может быть перемещена или удалена.
            
            // TODO: данная строка кода позволяет загрузить данные в таблицу "лицевые_карточкиDataSet.Валдай". При необходимости она может быть перемещена или удалена.
            this.валдайTableAdapter.Fill(this.лицевые_карточкиDataSet.Валдай);
            // TODO: данная строка кода позволяет загрузить данные в таблицу "лицевые_карточкиDataSet.Боровичи". При необходимости она может быть перемещена или удалена.
            this.боровичиTableAdapter.Fill(this.лицевые_карточкиDataSet.Боровичи);
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            DataTable Изменение1 = (DataTable)боровичиDataGridView.DataSource;
            Мод1.Сохранение1(Изменение1);
            боровичиDataGridView.DataSource = Мод1.Заполнение1();
        }
    }
}
Добавлено через 4 часа 53 минуты
Тема закрыта. Решил проблему.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2015, 20:25
Ответы с готовыми решениями:

Ошибка при передаче данных в таблицу, не работает Insert
Привет! У меня есть форма с кнопкой и текстовым окном. Я ввожу данные в текстовое окно и это...

База данных в access (INSERT INTO)
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=db.mdb");...

Ошибка при внесении данных в БД Access 'ADOQuery1: Dataset not in edit or insert mode
Доброго времени суток! При написании проги столкнулся с такой ошибкой: "'ADOQuery1: Dataset not in...

BULK INSERT Ошибка преобразования массовой загрузки данных (усечение) в строке 1, столбце 2
Всем привет! Пытаюсь заполнить такую таблицу с помощь BULK INSERT CREATE TABLE .( ...

Ошибка: неизвестная база данных
Здравствуйте, помогите пожалуйста. Пишу подробно: Я создал папку Библиотека, в ней создал папку...

4
ildwine
Супер-модератор
3867 / 2181 / 1262
Регистрация: 04.03.2013
Сообщений: 5,169
Записей в блоге: 1
28.05.2015, 02:50 2
VladOzz, так поделитесь решением...
0
VladOzz
0 / 0 / 0
Регистрация: 25.05.2015
Сообщений: 5
28.05.2015, 08:40  [ТС] 3
Оказывается проблему не решил
Тема актуальна.
0
pincet
1433 / 1010 / 138
Регистрация: 23.07.2010
Сообщений: 5,602
28.05.2015, 08:59 4
в упор не вижу здесь INSERT
0
VladOzz
0 / 0 / 0
Регистрация: 25.05.2015
Сообщений: 5
28.05.2015, 19:29  [ТС] 5
Я в полном недоумении. Создал другую базу(для пробы), подключил, все отлично сохраняется в DGV и добавляется в БД ACCESS,но при подключении другой базы (той что мне нужна), пишет по прежнему Insert Into и выделяет адаптер сохранения. Я уже и базу пересоздал и чего только не пробовал. Никак не хочет в другой базе сохранять.
Думаю так проблему решим быстрее,архив с моим проектом:
https://yadi.sk/d/j4R4zTd6gvA4f
К проекту подключена пробная база данных, в которой все сохраняется (БД в папке проекта). Также в папке лежит вторая база данных, при подключении которой при сохранении пишет ошибку Insert Into.
В чем дело не понимаю.

Добавлено через 5 часов 10 минут
Уверен что дело в подключенной базе данных.

Добавлено через 2 часа 38 минут
Проблема решена. Додумался сам. В таблицах БД были поля с ПРОБЕЛАМИ. Стыдно, но что поделать.
0
28.05.2015, 19:29
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2015, 19:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Заполнение таблицы с помощью BULK insert из текстового файла - ошибка преобразования массовой загрузки данных
Доброго времени суток. Помогите разобраться. Пытаюсь заполнить таблицу с помощью BULK INSERT из...

База данных об абитуриентах: где ошибка?
Плз, помогите разобраться! программка работает не до конца, данные вносит, но на экран не выводит...

База данных связь таблиц( ошибка)
Здравствуйте ребята. Нужна ваша помощь. Помогите решить проблему с базой данных, вчера ночью сел за...


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

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

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