Страница: 1 |
|
Вопрос: ADO.NET
|
Добавлено: 17.02.04 19:26
|
|
Автор вопроса: beast81 | ICQ: 192324197
|
У меня есть dataset в котором находиться таблица progr Я добавляю новую строку в таблицу и хочу обновить БД на sql-сервере через sqldataadapter. Для этого я выполняю след.действия: ds.tables("progr").newrow dim dr as datarow тра-ля-ля здесь я заполняю DR ds.tables("progr").rows.add(DR) sqldataadapter.update(ds, "progr") По идеи все должно обновиться и в БД на sql должна добавиться новая строка, а фигу.
Ответить
|
Номер ответа: 1 Автор ответа: sia1
Вопросов: 12 Ответов: 18
|
Профиль | | #1
|
Добавлено: 17.02.04 20:04
|
Вообщем, ты бы лучше код написал полность, а то так сложно ориентироваться , что у тебя, да как. Могу только одно сказать, когда я трах... с этим адо у меня тоже ничего не получалось обновлять и добавлять записи в таблице, пока не подсказали добрые люди, что после того как ты делаешь dataApdater , нужно сделать CommandBuilde(dataapdater);
Ответить
|
Номер ответа: 2 Автор ответа: Alex3
ICQ: 9481061
Вопросов: 18 Ответов: 132
|
Профиль | | #2
|
Добавлено: 18.02.04 09:55
|
Чтобы DataAdapter, что-то делал, например, апдейтил, у него должны быть заданы такие свойства как UpdateCommand, InsertCommand, DeleteCommand. Тогда команда Update проапдейтит записи в DataTable помеченые как измененные, удалит, помеченные как удаленные и добавит вставленные.
Ответить
|
Номер ответа: 3 Автор ответа: beast81
ICQ: 192324197
Вопросов: 11 Ответов: 13
|
Профиль | | #3
|
Добавлено: 18.02.04 10:43
|
Ну Alex3 спасибо! Вот это совет! Естественно у меня все эти команды прописаны.Но в том то и дело, что не обновляет.
Ответить
|
Номер ответа: 5 Автор ответа: sia1
Вопросов: 12 Ответов: 18
|
Профиль | | #5
|
Добавлено: 18.02.04 11:55
|
то Alex3 >>Чтобы DataAdapter, что-то делал, например, апдейтил, у него >>должны быть заданы такие свойства как UpdateCommand, >>InsertCommand, DeleteCommand. Тогда команда Update >>проапдейтит записи в DataTable помеченые как измененные, >>удалит, помеченные как удаленные и добавит вставленные. Метод CommandBuilde этим и занимается. Он полностью заменяет все эти команды. то beast81 Попробую этот метод. Он более удобен в использовании, т.к. он сам прописывает все связи между таб. (для сложных запросов). А так тебе нужно это делать самому и вероятность что ошибка где-то там закралась очень высока. Я бы тебе примерчик выслал, но я пишу на с++ поможет ли он тебе.
Ответить
|
Номер ответа: 7 Автор ответа: Alex3
ICQ: 9481061
Вопросов: 18 Ответов: 132
|
Профиль | | #7
|
Добавлено: 18.02.04 12:15
|
Некоторые вместо запросов в коде между прочим хранимые процедуры используют, и с неправильным написанием проблем нет. beast81, странный ты человек, говоришь "делаю Update - не работает, в чем трабл?". Что на такое исчерпывающее описание проблемы можно ответить? Только "сделай так что б работало"
Ответить
|
Номер ответа: 8 Автор ответа: sia1
Вопросов: 12 Ответов: 18
|
Профиль | | #8
|
Добавлено: 18.02.04 16:45
|
Лучше всего показать это на примере. Там всего один параметр -это SqlDataAdapter, вот и все . Посмотри пример, очень легкий и простой. Заносит из массива точки в базу. В MSDN про неё очень хорошо написанно и примерами, на доступном языке ). Вот пример: String *connectString = S"server=localhost;Trusted_Connection=yes;database=3D;"; SqlDataAdapter * sqladapt; SqlCommandBuilder * sqlbuild; SqlConnection * conn; //соединение//указатель на него vector <CPoint3D>::iterator m_Iter; //conn = new SqlConnection(connectString);sqladapt = new SqlDataAdapter("select * from xyz", connectString);sqlbuild = new SqlCommandBuilder(sqladapt);DataSet *data = new DataSet;sqladapt->Fill(data,"xyz"); //xyztry{ DataTable *table = data->Tables->get_Item("xyz"); for (m_Iter = m_cPoints->begin(); m_Iter != m_cPoints->end(); m_Iter++){ DataRow *row = table->NewRow(); row->set_Item("Id_Object", __box(idObj));//point = m_cPoints[i];row->set_Item("nx", __box(m_Iter->x));row->set_Item("y", __box(m_Iter->y));row->set_Item("nz", __box(m_Iter->z));//row->set_Item("id", __box(id));table->Rows->Add(row); row = 0; // снять указатель} // Обновили базуsqladapt->Update(data, "xyz"); }
Ответить
|
Страница: 1 |
Поиск по форуму