Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2013, 18:25   #1
hardsoda
Новичок
Джуниор
 
Регистрация: 14.06.2013
Сообщений: 4
По умолчанию C# + Access, запрос INSERT INTO

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

Вот код:
Код:
private void button6_Click(object sender, EventArgs e)
        {
            string typeString, typeString1;

            try
            {
                typeString = comboBox1.SelectedItem.ToString();
                typeString1 = comboBox3.SelectedItem.ToString();

            }
            catch (Exception ex) {
                MessageBox.Show("Данные введены не верно: " + ex.Message + "");
                return;
            }
            int type = 0;
            int plc = 0;

           // string daten = dateTimePicker1.Value.ToString("mm/dd/yyyy");
            string daten = '#' + dateTimePicker1.Value.ToString("mm") + '/' + dateTimePicker1.Value.ToString("dd") + '/' + dateTimePicker1.Value.ToString("yyyy")+'#';


            string datek = '#' + dateTimePicker2.Value.ToString("mm") + '/' + dateTimePicker2.Value.ToString("dd") + '/' + dateTimePicker2.Value.ToString("yyyy") + '#';


            string dates = '#' + dateTimePicker3.Value.ToString("mm") + '/' + dateTimePicker3.Value.ToString("dd") + '/' + dateTimePicker3.Value.ToString("yyyy") + '#';
    

           
               
            string name = textBox1.Text.ToString();
            string stats = textBox2.Text.ToString();
            int ID = textBox7.Text.Length;
            
            string Work;
            Work = "Работает";

                if (typeString == "Персональный компьютер") type = 1;
                if (typeString == "Серверный компьютер") type = 2;
                if (typeString == "Терминал") type = 3;
                if (typeString == "Принтер") type = 4;
                if (typeString == "Сканер") type = 5;
                if (typeString == "Модем") type = 6;
                if (typeString == "Маршрутизатор") type = 7;
                if (typeString == "Монетосчетная машина") type = 8;
                if (typeString == "Купюросчетная машина") type = 9;
                if (typeString1 == "Офис 1") plc = 10;
                if (typeString1 == "Офис 2") plc = 11;
                if (typeString1 == "Серверная") plc = 12;
                if (typeString1 == "Зал") plc = 13;
                if (typeString1 == "Склад") plc = 14;
                if (typeString1 == "Вне помещения") plc = 15;
                string SQLString ="";

                SQLString = " INSERT INTO tech ([techID], [Name1], [Stats], [Work], [typeid], [plc_id], [Year], [Yeark], [Years]) VALUES (" + ID + ", '" + name.Replace("'", "''") + "','" + stats + "','" + Work + "'," + type + "," + plc + ",'" + daten.ToString() + "','" + datek.ToString() + "','" + dates.ToString() + "') ";

                OleDbCommand SQLCommand = new OleDbCommand();
                SQLCommand.CommandText = SQLString;
                SQLCommand.Connection = database;
                int response = -1;
                try
                {
                    response = SQLCommand.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                if (response >= 1) MessageBox.Show("tech is added to database", "Successful", MessageBoxButtons.OK, MessageBoxIcon.Information);
                textBox1.Clear();
                textBox2.Clear();
                textBox3.Clear();
                textBox7.Clear();
                comboBox1.ResetText();
                comboBox3.ResetText();
                

        }
Ошибка:

Таблица:

Прошу помощи, т.к. сам уже не соображу в чем проблема.
Изображения
Тип файла: jpg jib,rf.JPG (38.4 Кб, 82 просмотров)
Тип файла: jpg таблица.JPG (25.8 Кб, 89 просмотров)

Последний раз редактировалось hardsoda; 14.06.2013 в 18:41. Причина: Пояснил суть проблемы.
hardsoda вне форума Ответить с цитированием
Старый 14.06.2013, 18:39   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Меня смущает эта строка:
Код:
int ID = textBox7.Text.Length;
т.е. в качестве уникального номера записи, ты пытаешься записать данные с одним и тем же id + посмотри под дебагом чем он у тебя равен и какой тип у этого поля в таблице.

Последний раз редактировалось Hollander; 14.06.2013 в 18:42.
Hollander вне форума Ответить с цитированием
Старый 14.06.2013, 18:54   #3
hardsoda
Новичок
Джуниор
 
Регистрация: 14.06.2013
Сообщений: 4
По умолчанию

Изменил эту строку
Код:
int ID = textBox7.Text.Length;
на
Код:
int ID = Convert.ToInt32(textBox7.Text.ToString());
Так как переменная принимала значение длины строки, тут сам накосячил.

Ошибка осталась та же.
В таблице всего одна запись, под № 1.
Изображения
Тип файла: jpg 123123123123123123123.JPG (111.3 Кб, 136 просмотров)

Последний раз редактировалось hardsoda; 14.06.2013 в 18:56. Причина: пояснение
hardsoda вне форума Ответить с цитированием
Старый 14.06.2013, 19:02   #4
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

А есть ли ограничения в самой базе данных на поля данных? Может где-то стоит ограничение на длину.
Hollander вне форума Ответить с цитированием
Старый 14.06.2013, 19:10   #5
hardsoda
Новичок
Джуниор
 
Регистрация: 14.06.2013
Сообщений: 4
По умолчанию

Да вы правы, был столбец один с длиной в 5 символов, исправил. Но вот беда новая ошибка.
Изображения
Тип файла: jpg debug.JPG (75.6 Кб, 87 просмотров)
hardsoda вне форума Ответить с цитированием
Старый 14.06.2013, 19:24   #6
hardsoda
Новичок
Джуниор
 
Регистрация: 14.06.2013
Сообщений: 4
По умолчанию

Всем спасибо, решил вопрос, ошибка была в формате даты.
hardsoda вне форума Ответить с цитированием
Старый 14.06.2013, 19:30   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Код на помойку.
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
insert into как исправить ошибку delphi+access shaguard БД в Delphi 5 24.03.2013 19:50
ADO.net + ACCESS не работает INSERT INTO Necare Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 1 24.05.2012 16:27
Запрос вида Insert..Select MySQL Svap SQL, базы данных 3 11.01.2011 19:11
Запрос с датами и временем к Access [D7, Access] alexandr2010 БД в Delphi 3 26.07.2010 22:19
ошибка при INSERT INTO; D7, access mdb helluvaname Помощь студентам 4 07.01.2010 10:16