Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++ Builder и базы данных

Войти
Регистрация
Восстановить пароль
 
qozyrek
6 / 6 / 0
Регистрация: 19.11.2012
Сообщений: 435
#1

Добавление записи в таблицу через Edit - C++ Builder БД/MS Access

08.05.2015, 10:45. Просмотров 1559. Ответов 7
Метки нет (Все метки)

Всем привет. Знаю, что подобная тема не однократно рассматривалась, но пожалуйста помогите мне.
У меня есть база данных Access и есть поля для заполнения(Edit) на форме. Для добавления в таблицу использую такой код.
C++
1
String add = "INSERT INTO Tabl (ID, Authors, Boocks, Genres, Year, Company, Status, Info)values('3', " +QuotedStr(Edit1->Text) + ", " +QuotedStr(Edit5->Text)+ ", " +QuotedStr(Edit2->Text)+ ", " +QuotedStr(StrToInt(Edit3->Text))+ ", " +QuotedStr(Edit4->Text)+ ", " +QuotedStr(Edit6->Text)+ ", " +QuotedStr(Memo1->Text)+ ")";
Беда в том, что он не хочет добавлять данные.
Посмотрите, пожалуйста, и скажите, что тут нет так. Буду очень благодарен.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2015, 10:45
Я подобрал для вас темы с готовыми решениями и ответами на вопрос MS Access Добавление записи в таблицу через Edit (C++ Builder БД):

Добавление записи в базу данных через Edit - C++ Builder БД
Здравствуйте есть база данных на c++ builder которая соединена с Interbase .DB grid подключил к базе данных , все сработало . Но сейчас...

Добавление записи в таблицу через ADOQuery - C++ Builder БД
Здравствуйте) В моей программе таблица базы данных подключена к компоненту ADOQuery, насколько я понимаю SQL в свойствах обязатльно для...

Добавление нового столбца в таблицу + работа с edit - C++ Builder БД
Есть таблица, в приложении можно удалить, добавить, редактировать поля с помощью edit-ов. Нужно добавить новый столбец в эту таблицу, а...

Добавление информации в базу данных через ADOQuery вводимый через Edit - C++ Builder БД
Не получается добавить информацию в таблицу, каждый Edit отвечает за отдельное поле в строке... Вот код: ADOQuery2->Close(); ...

Добавление данных через Edit - C++ Builder БД
Всем здравствуйте, это снова я =) Имеется БД, соединил через АДО. Инфа выводится через Grid. Инфа стандартного типа: Фамилия, Имя,...

Добавление записи в 2 таблицу - C++ Builder БД
Всем привет. Ребят помогите пожалуйста в c++ Builder не давно начал работать да и в c++ не особо шарю. Вообщем есть 2 таблички Темы (Код...

7
Bit_Man
420 / 351 / 61
Регистрация: 24.04.2012
Сообщений: 1,384
Записей в блоге: 3
08.05.2015, 11:03 #2
Цитата Сообщение от qozyrek Посмотреть сообщение
Беда в том, что он не хочет добавлять данные.
Да ты что, у-у-у--у какой Access нехороший.
Ошибки то хоть есть?
Цитата Сообщение от qozyrek Посмотреть сообщение
values('3'
ID - это текстовое поле?
0
qozyrek
6 / 6 / 0
Регистрация: 19.11.2012
Сообщений: 435
08.05.2015, 11:26  [ТС] #3
Bit_Man, ошибок никаких не выдаёт. Просто не добавляет. При обновлении остаются те поля какие и были.

Добавлено через 30 секунд
Bit_Man,
Цитата Сообщение от Bit_Man Посмотреть сообщение
ID - это текстовое поле?
число
0
Bit_Man
420 / 351 / 61
Регистрация: 24.04.2012
Сообщений: 1,384
Записей в блоге: 3
08.05.2015, 17:35 #4
ну и на ... ты в него символ пишешь?!!!
Покажи полностью код, а не только строку запроса
0
qozyrek
6 / 6 / 0
Регистрация: 19.11.2012
Сообщений: 435
09.05.2015, 22:35  [ТС] #5
Bit_Man, даже и без кавычек оно, почему-то, не добавляет.
Кусок кода:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
void __fastcall TForm1::Button5Click(TObject *Sender) {
String add = "INSERT INTO Tabl (ID, Authors, Boocks, Genres, Year, Company, Status, Info)values(3, " +QuotedStr(Edit1->Text) + ", " +QuotedStr(Edit5->Text)+ ", " +QuotedStr(Edit2->Text)+ ", " +QuotedStr(StrToInt(Edit3->Text))+ ", " +QuotedStr(Edit4->Text)+ ", " +QuotedStr(Edit6->Text)+ ", " +QuotedStr(Memo1->Text)+ ")";
 
DataModule2->ADOQuery1->SQL->Clear();
                        DataModule2->ADOQuery1->SQL->Add(add);
                        DataModule2->ADOQuery1->Open();
}

Я по такому же принципу делал поиск, так всё работает.
0
MrMajki
3 / 3 / 2
Регистрация: 27.05.2013
Сообщений: 33
15.05.2015, 11:12 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
Form1->ADOQuery1->Close();
Form1->ADOQuery1->SQL->Clear();
Form1->ADOQuery1->SQL->Add("Insert Into Tab1 (ID, Authors, Boocks, Genres, Year, Company, Status, Info) Values (:o1, :o2, :03, :o4, :o5, :o6, :o7, :o8)");
Form1->ADOQuery1->Parameters->ParamByName("o1")->Value=Edit1->Text;
Form1->ADOQuery1->Parameters->ParamByName("o2")->Value=Edit1->Text;
Form1->ADOQuery1->Parameters->ParamByName("o3")->Value=Edit1->Text;
Form1->ADOQuery1->Parameters->ParamByName("o4")->Value=Edit1->Text;
Form1->ADOQuery1->Parameters->ParamByName("o5")->Value=Edit1->Text;
Form1->ADOQuery1->Parameters->ParamByName("o6")->Value=Edit1->Text;
Form1->ADOQuery1->Parameters->ParamByName("o7")->Value=Edit1->Text;
Form1->ADOQuery1->Parameters->ParamByName("o8")->Value=Edit1->Text;
Form1->ADOQuery1->ExecSQL();
Только смотри за типами полей в БД. Там где нужно преобразуй значение Edit->Text в нужный тип.
1
Sasha
4918 / 2383 / 249
Регистрация: 05.06.2008
Сообщений: 7,465
Записей в блоге: 3
15.05.2015, 11:36 #7
поле ID если это счётчик, то добавлять не надо, оно само автоинкреминируется
1
qozyrek
6 / 6 / 0
Регистрация: 19.11.2012
Сообщений: 435
17.05.2015, 15:38  [ТС] #8
MrMajki, спасибо огромное, порпобую Ваш вариант.
0
17.05.2015, 15:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2015, 15:38
Привет! Вот еще темы с ответами:

Добавление записи в таблицу - C++ Builder БД
ВСем привет! Ребят, помогите плиз. Я уже не знаю как быть. Пытаюсь создать на кнопочку обычное добавление записи в таблицу, но нифига не...

Добавление записи в таблицу Access - C++ Builder БД
Пытаюсь добавить запись в таблицу Клиент Form4->ADOQuery4->Close(); Form4->ADOQuery4->SQL->Clear(); ...

Добавление записи через ADOQuery - C++ Builder БД
Всем привет, помогите плиз, хочу добавить даныне с едитов в БД, но вылетает ошибка Form1->ADOQuery1->Close(); ...

Добавление записи в БД Acess через ADOQuery - C++ Builder БД
Здравствуйте! Помогите пожалуйста, хочу добавить данные в базу следующим образом: ADOQuery2->Close(); ADOQuery2->SQL->Clear(); ...


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

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

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