Форум программистов, компьютерный форум, киберфорум
Visual C++: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 1
Регистрация: 08.05.2015
Сообщений: 5
MS SQL

Не добавляются новые данные в БД (MFC)

09.05.2015, 06:17. Показов 1386. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Проект MFC. У меня есть четыре EditControl и кнопка. Пользователь вводит необходимые данные, нажимает на кнопку, и эти данные попадают в таблицу. Но они не попадают.
При чем делала точно такой же код в другом проекте, и там все работало замечательно просто. (различие было только, что в "черновом" проекте я при добавлении источника данных выбирала одну таблицу, а в главном - пять, но по идее, это же не должно ничего менять).
Но как-то только переношу в нужный проект, ничего не добавляется, не могу понять, почему.

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
void Tovar_Dialog::OnBnClickedNewtov()
{
    CString ConnectionString,str;
    CDatabase db;
    CExpSet rs(&db);
    CString newName;
    CString newVid;
    CString newProiz;
    CString newVol;
    FLOAT newVol2;
    GetDlgItemText(IDC_TovName,newName);
    GetDlgItemText(IDC_TovVid,newVid);
    GetDlgItemText(IDC_TovPrz,newProiz);
    GetDlgItemText(IDC_TovVol,newVol);
    newVol2=_ttof(newVol);
 
    ConnectionString =_T("DSN=Exp;Description=Exp;Trusted_Connection=Yes;APP=Microsoft\x00ae Visual Studio\x00ae 2012;WSID=GEO-PC;DATABASE=Pro_Express;LANGUAGE=\x0440\x0443\x0441\x0441\x043a\x0438\x0439;");
    
        if(db.Open(NULL,FALSE,FALSE,ConnectionString,TRUE))
        {
        rs.Open(CRecordset::dynaset);
 
        if(rs.CanAppend())
        {
            rs.AddNew();
            rs.m_dboTovarName_Tovar = newName;
            rs.m_dboTovarVid_Pokrytija = newVid;
            rs.m_dboTovarProizvoditel = newProiz;
            rs.m_dboTovarVolume_Tovar = newVol2;
            rs.Update();
            rs.Requery();           
        }
        }
 
}
Программа спокойно открывается, никаких ошибок не выдает.
Помогите, пожалуйста!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.05.2015, 06:17
Ответы с готовыми решениями:

Новые данные не добавляются в Widestring
Доброго времени суток. Хотел написать программу для загрузки заданий ЕГЭ с официального сайта. Текст RTF формирую вручную, собираю всё в...

Добавляются новые столбцы
Здравствуйте! Использую GridView. В качестве источника данных создала список. Делаю всё так: class Data { ...

Не добавляются новые элементы на форму
Добрый день, есть такая проблема в qt creator, в разделе форм добавляю новые виджеты на форму, например кнопку, при этом они появляются в...

2
 Аватар для Shvonder
46 / 35 / 24
Регистрация: 16.03.2015
Сообщений: 179
09.05.2015, 16:56
Здравствуйте.
На мой взгляд, функция "GetDlgItemText()" - не понимает, что аргумент "this" по умолчанию ни подходит.
Попробуйте, изменить:
"GetDlgItemText( this->m_hWnd, IDC_TovName, newName );"
// и т.д.
0
0 / 0 / 1
Регистрация: 08.05.2015
Сообщений: 5
10.05.2015, 07:47  [ТС]
Shvonder, неа, не получается.
пишет ошибки:
error C2664: int CWnd::GetDlgItemTextW(int,LPTSTR,int) const: невозможно преобразовать параметр 1 из "HWND" в "int"
1> Не существует контекста, в котором такое преобразование возможно

И подчеркивает все GetDlgItemText.

Добавлено через 1 час 49 минут
Пробовала через
C++
1
2
str.Format(_T("INSERT INTO TOVAR (Name_Tovar, Vid_Pokrytija,Proizvoditel,Volume_Tovar) VALUES('%s','%s','%s',%d)",newName,newVid,newProiz,newVol2));
db.ExecuteSQL(str);
Ошибок не пишет, но когда нажимаю на "Добавить", программа виснет, выдает ошибку:
Необработанное исключение по адресу 0x0082A194 (msvcr110d.dll) в Exp.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x65EDFEEA.
И дальше на выбор "Прервать" или "Продолжить".
И, естественно, в бд ничего не добавляется.
Может все-таки можно как-то "сказать" в какую именно таблицу добавлять? Просто у меня нет других объяснений, почему в одном проекте работает, а в другом - нет, если разница в них - количество таблиц.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.05.2015, 07:47
Помогаю со студенческими работами здесь

Не добавляются новые записи в форму
у меня проблема помогите пожалуйста. Не добавльються новые записи в форму в отдельных полях (ключ связи таблицы "замовлення" не...

Не добавляются новые страницы в индекс.
Вообщем на домене site.info месяцев 7 назад был сайт, индексировался яндексом и даже имел небольшой тИЦ, потом из за не хватки времени сайт...

Пропали закладки Google Chrome. Новые не добавляются
У меня такая проблема,на Windows 7 поставил google chrome.до этого все работало нормально,а сейчас куда то исчезли закладки,пробовал...

Почему новые записи добавляются с ID, через один?
Здравствуйте! Я выложил БД. В ней, если в главной форме выбрать новую запись и через гиперссылку "Таблица1" открыть другую форму,...

Удаление элемента из коллекции, в который добавляются новые
В коллекцию добавляются записи каждые 5 секунд и нужно удалять самую первую(т.е. старую по времени) Как это реализовать, чтобы RemoveAt()...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru