Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Базы данных > Добавление данных


Автор: Kirgston 22.11.2009, 00:12
Всем доброго времени суток! Ребята... вообщем проблемка такова)))
Надо было программно добавить в БД (Access) данные. По примеру написаному мной на Делфи не захотело... 
Загуглился и узнал что в С++ надо примерно так:

Код

ADOTable1->InsertRecord(ARRAYOFCONST(from,to,protocol,size,ttl));


Но почему то мой Билдер 2010 ругается на ARRAYOFCONST, типа непонятные буковки. Хотя вроде это макрос либы vcl.h .
Ну да и бог с ним...
сделал так:

Код

    TVarRec vr[] = {NULL,from,to,protocol,size,ttl};
    ADOTable1->InsertRecord(vr,sizeof(vr));

Скомпилилось на УРА. Но когда вызывается ф-ция то выдает ошибку и пишет : List index out of bounds(5) . 
Таблица состоит из 6 колонок. Первая автоинкремент , остальные мои. В чем проблема может быть?

Автор: jonie 22.11.2009, 17:04
у меня есть подозрения что вторым параметром надо передавать количество параметров (6), а не sizeof(vr), если это так, то надо писать sizeof(vr)/sizeof(vr[0])

Автор: Kirgston 22.11.2009, 17:45
Хмм... да вроде Вы правы =). Но сразу же получил что поле "Код" (авто инкремент, первый в таблице) нельзя изменить. Конечно его могу подвинуть в таблице и просто туда не писать даже NULL. Но уже просто интересно почему когда я передаю NULL (ничего) оно орет что я хочу изменить его?  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)