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

Добавленное значение переходит на следующую строку таблицы Access

20.06.2016, 18:42. Показов 1361. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Переходит ,добавленное значение, на следующую строку Access

Всего в таблице 5 столбцов, 4 столбца вводятся и заносятся на другой форме, а последняя, заночится, но на второй строке от предыдущих. Нужно чтоб все значение записывались в одну строку.

C#
1
2
3
4
5
6
    OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=Sotrudniki.accdb");
    OleDbCommand com = new OleDbCommand("INSERT INTO Tablica (Время) VALUES (@p5)", con);
    com.Parameters.AddWithValue("@p5", textBox55.Text);
    con.Open();
    com.ExecuteNonQuery();
    con.Close();
и еще, после закрытия программы визуал студио , данные с Access исчезают
Миниатюры
Добавленное значение переходит на следующую строку таблицы Access  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.06.2016, 18:42
Ответы с готовыми решениями:

Не переходит на следующую строку?
При записи в файл //пропустил откритие файла for($i=0;$i<=10;$i++){ fwrite($fh,$i"\n"); }...

Delphi7 при считывании не переходит на следующую строку
Задача: 1) считать строку и перемножить (вывод в out) 2) ехе файл, после компиляции кода в...

Матрица записывается в строчку, не переходит на следующую строку
type mas = array of integer; var a, b, c: mas; n, m: integer; f, f1: text; ...

В процессе отладки в окне cmd при нажатии enter курсор переходит на следующую строку вместо выполнения программы
Привет! Я новичок, изучаю Си по Керниган и Ричи. Столкнулся проблемой при выполнении задания: ...

8
Эксперт .NET
5876 / 4753 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
20.06.2016, 18:59 2
doctor-i-bolit,
Нужен запрос UPDATE, а не INSERT. Только вот как его реализовать для таблицы без ключа, не знаю.
По-моему, оптимальным вариантом будет добавлять строку не по частям, а одним запросом.

А насчет исчезновения данных - при подключении базы к проекту, видимо согласились копировать базу в проект. Вот она каждый раз и копируется.
1
0 / 0 / 0
Регистрация: 14.06.2015
Сообщений: 23
20.06.2016, 19:12  [ТС] 3
Цитата Сообщение от Даценд Посмотреть сообщение
Нужен запрос UPDATE, а не INSERT. Только вот как его реализовать для таблицы без ключа, не знаю.
По-моему, оптимальным вариантом будет добавлять строку не по частям, а одним запросом.
Спасибо, а если добавлю строку в Access и сделаю его первичным, то возможно ли реализовать?
Цитата Сообщение от Даценд Посмотреть сообщение
А насчет исчезновения данных - при подключении базы к проекту, видимо согласились копировать базу в проект. Вот она каждый раз и копируется.
Да, согласился
А это исправить как либо возможно?
0
Эксперт .NET
5876 / 4753 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
20.06.2016, 19:24 4
doctor-i-bolit,
Если добавить поле ID и сделать его ключом, то:
C#
1
2
3
4
5
6
OleDbCommand com = new OleDbCommand("UPDATE Tablica SET Время=@p5 WHERE ID=@ID", con);
com.Parameters.AddWithValue("@p5", textBox55.Text);
com.Parameters.AddWithValue("@ID", <значение ключа>);
con.Open();
com.ExecuteNonQuery();
con.Close();
По поводу копирования базы, где-то в свойствах можно отключить копирование.
1
0 / 0 / 0
Регистрация: 14.06.2015
Сообщений: 23
20.06.2016, 19:42  [ТС] 5
Цитата Сообщение от Даценд Посмотреть сообщение
com.Parameters.AddWithValue("@ID", <значение ключа>);
Спасибо, а в значении ключа что писать?
0
Эксперт .NET
5876 / 4753 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
20.06.2016, 20:03 6
Цитата Сообщение от doctor-i-bolit Посмотреть сообщение
в значении ключа что писать?
Поле ID добавьте в таблицу базы данных. Сделайте ID ключом таблицы.
Цитата Сообщение от doctor-i-bolit Посмотреть сообщение
4 столбца вводятся и заносятся на другой форме
Нужно получить ID записи, которая добавляется "на другой форме", передать значение ID в класс формы, из которого устанавливается значение времени, и использовать в методе AddWithValue.

Еще если поле ID сделать счетчиком, то можно подзапросом select получить максимальное значение поля ID (это будет как раз ID последней добавленной записи).

Но повторюсь, что правильно будет добавлять запись целиком, одним запросом.
1
0 / 0 / 0
Регистрация: 14.06.2015
Сообщений: 23
20.06.2016, 20:11  [ТС] 7
Цитата Сообщение от Даценд Посмотреть сообщение
Поле ID добавьте в таблицу базы данных. Сделайте ID ключом таблицы.
Добавил в access поле ID счетчик, нумерация сбилась
Но все никак не пойму, что писать в значении ключа...
0
Эксперт .NET
5876 / 4753 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
20.06.2016, 20:28 8
Лучший ответ Сообщение было отмечено doctor-i-bolit как решение

Решение

Цитата Сообщение от doctor-i-bolit Посмотреть сообщение
Но все никак не пойму, что писать в значении ключа...
Ничего:
C#
1
2
3
4
5
OleDbCommand com = new OleDbCommand("UPDATE Tablica SET Время=@p5 WHERE ID=(SELECT MAX (ID) FROM Tablica)", con);
com.Parameters.AddWithValue("@p5", textBox55.Text);
con.Open();
com.ExecuteNonQuery();
con.Close();
Этот запрос установит значение поля Время для последней записи (записи с максимальным значением ID).
Но для задания времени для произвольной записи нужно будет получать ее ID каким-нибудь другим способом.
1
0 / 0 / 0
Регистрация: 14.06.2015
Сообщений: 23
20.06.2016, 20:48  [ТС] 9
Огромное вам спасибо! Все заработало!!!Который раз уже меня выручаете
0
20.06.2016, 20:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2016, 20:48
Помогаю со студенческими работами здесь

Автоматический переход на следующую строку таблицы при заполнении предыдущей
Доброго дня! Описание: Имеется форма, с несколькими элементами управления, посредством которых...

Таблица не правильно переходит на следующую страницу
У меня в документе таблица в одном из мест неправильно (не красиво) переходит на следующую страницу...

Не переходит на следующую запись, как объединить поля в массив и т.п.
Здравствуйте, товарищи! Накопилась у меня куча вопросов по аксессу. Первый: ...

Строки. Заменить каждую букву на следующую, последняя переходит на место первой
Задано предложение, состоящее из слов, разделенных одним или несколькими пробелами (без знаков...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru