Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DataSet.DataTable.DataColum 
:(
    Опции темы
HellMasterHaiL
Дата 22.1.2007, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

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



вот встала такая вот задачка:

есть датасет (созданный конструктором), есть в нем таблица с адаптером (тоже созданы конструктором)...
адаптер таблици запрашивает у БД значение и записывает в поле "ID"...
остальные поля предназначены для хранения стрингов, которые я должен получить из других источников (файл).

проблема вот:
не могу понять, как из т аблици ds_MyDataSet.dt_Photo вытащить значение поля ID, сделать с ним некот махинации и вернуть в этуже таблицу в поле Photo некую строчку...

причем это нужно сделать для всех записей (ID) в этой дататэйбол!

 smile  smile 
если можно на VB \=-)

PM MAIL ICQ   Вверх
NET_or_not_NET
Дата 23.1.2007, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Извините, все примеры на С#

Цитата

как из таблици ds_MyDataSet.dt_Photo вытащить значение поля ID

Можно например так:
Код

label1.Text =  ds_MyDataSet.dt_Photo.Rows[XXX].ItemArray[УУУ].ToString();
// где ХХХ - это индекс строки из которой необходимо вытащить ID
// а УУУ - это индекс колонки (если ID храниться в первой колонке то УУУ=0 и т.д.)


Цитата

для всех записей (ID) в этой дататэйбол!

Можно например так:
Код

foreach (DataRow dr in ds_MyDataSet.dt_Photo.Rows)
{
        label1.Text = dr.ItemArray[УУУ].ToString();
        //каждый проход цикла записывает в значение label1.Text полученный ID
}
// УУУ - это индекс колонки (если ID храниться в первой колонке то УУУ=0 и т.д.)


Теперь вопрос у меня: 

Цитата

 сделать с ним некот махинации и вернуть в этуже таблицу в поле Photo некую строчку...


махинации с самим ИД или со строками у которых нужный нам ИД ???
(например изменить все значения в поле Photo для строк с нужным нам ИД)

В зависимости от разъяснений постараюсь помочь  smile 
PM MAIL   Вверх
HellMasterHaiL
Дата 23.1.2007, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

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



NET_or_not_NET, то, что на СИшарпе - малокритично)

Цитата

(например изменить все значения в поле Photo для строк с нужным нам ИД)

именно этот пример меня и интересует!)
или хотябы просто как присвоить полю Photo с конкретной идешкой, типа как в SQL:
....
SET PHOTO = 'bla bla bla'
WHERE ID='676'


или всеравно не ясно изложил проблемку?
если можно, то разъясни, заранее спасибо!

PM MAIL ICQ   Вверх
NET_or_not_NET
Дата 24.1.2007, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Как один из многих вариантов:

Этот пример подразумевает наличие
Цитата

есть датасет (созданный конструктором), есть в нем таблица с адаптером (тоже созданы конструктором)

и что датасет имеет 
поле "ID" в котором храниться наш ИД
поле "PHOTO" в котором храниться некая инф. (в данном примере строка)


Код

            //В данном цикле мы перебираем все строки в нашем ds_MyDataSet
            foreach(DataRow dr in ds_MyDataSet.dt_Photo.Rows)
            {
                // Ищем нужный нам ИД
                if (dr["ID"].ToString() == "1") 
                {
                    //если нашли меняем значение в "фото"
                    dr["PHOTO"] = "bla bla bla";
                }                
            }
            // всё вышеописанное производит изменения в MyDataSet.dt_Photo

            // теперь изменения сделанные в MyDataSet.dt_Photo надо сохранить в БД
            // вариантов как это сделать много, вот один из...  
            // пример создания команнды Update ручками

            адаптер.UpdateCommand.Connection = sqlConnection1;
            адаптер.UpdateCommand.CommandText = "update имяТаблицы set PHOTO=@param2 where ID=@param1";
            
            адаптер.UpdateCommand.Parameters.Add("@param1", SqlDbType.Int);
            адаптер.UpdateCommand.Parameters.Add("@param2", SqlDbType.NVarChar);

            адаптер.UpdateCommand.Parameters["@param1"].SourceColumn = "ID";
            адаптер.UpdateCommand.Parameters["@param2"].SourceColumn = "PHOTO";

            адаптер.Update(MyDataSet.dt_Photo);


На это форуме обсуждается тема "Проблемы с adapter.Update(dataSet, tableName);"
в ней описано как сам АДАПТЕР (автоматически) генерирует Инсерт,Дел,Апдейт команды (GetDeleteCommand(); GetInsertCommand(); GetUpdateCommand();)
Есть еще вариант создания в режиме конструктора... и еще несколько других ручками...


Выбор за Вами!

P.S. БД синтаксис параметров UpdateCommand - MSSQLServer2000
PM MAIL   Вверх
HellMasterHaiL
Дата 24.1.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

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



NET_or_not_NET, cпасибо, но вчера сам догадался \=-) (аки какой я умный(стеб))

апдейтить БД я, счастью, умею...
... но всеравно большое тебе спасибо!)

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

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

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


 




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


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

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