Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставка записи в таблицу MySQL, Cursor not returned 
:(
    Опции темы
byklin
Дата 3.7.2005, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 3.7.2005

Репутация: нет
Всего: нет



Запрос : insert into users values
(:ext, :fio, :rigt, md5(smiles));

Код

void __fastcall TForm2::BitBtn2Click(TObject *Sender)
{
SQLClientDataSet2->Params->ParamByName("ext")->AsString=LabeledEdit1->Text;
SQLClientDataSet2->Params->ParamByName("fio")->AsString=LabeledEdit2->Text;
SQLClientDataSet2->Params->ParamByName("rigt")->AsString=LabeledEdit3->Text;
SQLClientDataSet2->Params->ParamByName("ps")->AsString=LabeledEdit4->Text;
SQLClientDataSet2->Open();
}

После клика вылетает ошибка DBExpress : Cursor not returned from Query .
Но запись в базу добавляется правильно .
PM MAIL   Вверх
chaos
Дата 6.7.2005, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 2
Всего: 44



пропобуй использовать
TSQLQuery
его по моему надо использовать для запросов не возвращающих данные те insert, update, delete
PM WWW   Вверх
Гость_byklin
Дата 7.7.2005, 22:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Помогло вместо
SQLClientDataSet2->Open();
это
SQLClientDataSet2->ExecSQL();

  Вверх
OverBug
Дата 16.4.2006, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 13.4.2006
Где: г.Пенза, Пензенск ой обл.

Репутация: нет
Всего: 1



chaos, а как вставить запись на Visual C 6.0. У меня глючит после вставки данных. Использую свой класс.
Код

#include <mysql.h>

class CDb  
{
public:
    unsigned int err;
    char *szErr;
    MYSQL *mysql;
    MYSQL_RES *res;
    MYSQL_ROW row;
    int rows,fields;
    CDb(void);
    virtual ~CDb(void);
    bool query(char *);
    bool next(void);

};



CDb::CDb()
{ 
    err = 0;
    szErr = "\0";
    if ( (mysql = mysql_init((MYSQL*) 0)) && 
        mysql_real_connect( mysql, NULL, NULL, NULL, NULL, MYSQL_PORT,NULL, 0 ) )
    {
        if ( mysql_select_db( mysql, "bee_db" )<0) 
        {
            err = mysql_errno( mysql );
            mysql_close( mysql ) ;
            return ;
        }
    } 
    else
    {
        err = mysql_errno( mysql );
        return ;
    }
}

CDb::~CDb()
{ 
    mysql_free_result( res );
    mysql_close( mysql );
}

bool CDb::query(char *szQuery)
{ 
    if ( ! mysql_query( mysql, szQuery ) ) 
    {
        res = mysql_store_result( mysql );
        rows = (int) mysql_num_rows( res );
        fields = (int) mysql_num_fields( res );
        return TRUE;
    }
    else
        return FALSE;
}

bool CDb::next(void)
{ 
    row = mysql_fetch_row( res );
    if ( row != NULL ) 
        return TRUE;
    else
        return FALSE;
}


класс вполне работоспособный, по крайней мере запросы селект выполняет без ошибок и фун. next  ни азу не вывалилась. Да и собственно чему там вываливаться. А вот на вставку не работает.
Код

CDb myDb;
myDb.query("insert into objects (num,type) values (33,2)");


type,num - tinyint(3) unsigned

 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Базы данных | Следующая тема »


 




[ Время генерации скрипта: 0.0622 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.