Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: 'c_str' is not a member of 'Variant'  (Прочитано 10417 раз)
0 Пользователей и 1 Гость смотрят эту тему.
SAnatoliy
Гость
« : 03-04-2009 06:41 » 

Хочу в сообщение пользователю вставить данные из БД (DataModule1->IBDataSet1->FieldValues["NUM_PP"]).

Выходит ошибка.

Код:
if(Application->MessageBox("При ответе \"ДА\" произойдет удаление записи. "+DataModule1->IBDataSet1->FieldValues["NUM_PP"].c_str()+"\n Продолжить?",
                        "ВНИМАНИЕ! ", MB_YESNO + MB_ICONINFORMATION) == IDYES) {

ОШИБКА:
[C++ Error] ACU_Unit1.cpp(385): E2316 'c_str' is not a member of 'Variant'

Как исправить?

Подскажите с примером пожалуйста
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 03-04-2009 06:58 » 

надо написать имя мембера правильно вот и всё ) Покажи, как Variant определён?
Записан

sss
Специалист

ru
Offline Offline

« Ответ #2 : 03-04-2009 07:42 » 

Наверное надо заменить

Код:
DataModule1->IBDataSet1->FieldValues["NUM_PP"].c_str()

на вот это

Код:
DataModule1->IBDataSet1->FieldByName("NUM_PP")->AsString
Записан

while (8==8)
SAnatoliy
Гость
« Ответ #3 : 03-04-2009 10:11 » 

пробовал так, не получается.

Код:
DataModule1->IBDataSet1->FieldByName("NUM_PP")->AsString


Выполнил по совету так:
Код:
AnsiString msg = AnsiString("")
 + "При ответе \"ДА\" произойдет удаление записи. "
 + DataModule1->IBDataSet1->FieldValues["NUM_PP"]
 + "\n Продолжить?"
;

if(Application->MessageBox(msg.c_str(), "ВНИМАНИЕ! ", MB_YESNO + MB_ICONINFORMATION) == IDYES) {
.....

Спасибо Всем ответившим.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 03-04-2009 12:23 » 

SAnatoliy, у меня бывают похожие проблемы, только с компонентами Oracle. Думаю это проблема компилятора. Выход - приведение к AnsiString:
Код:
((AnsiString)query->Field("name")).c_str();
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines