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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Открыть датасет 
:(
    Опции темы
Akella
  Дата 16.3.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Не знаю, как бы правильно обозвать нужно было тему.

В общем код в дельфи выглядит так:
Код

DbGrid1.DataSource.Dataset.open;


Как открыть набор данных в C# (MSVC2008)

Может я немного наглею, но всё же хочу спросить. Может есть у кого примеры работы с БД в C# (MSVS + MS SQL), например примеры добавления, удалание, редактирования данных через запросы, хранимки.
Спасибо.
PM MAIL   Вверх
thomas
  Дата 16.3.2008, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

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



Akella
Приветствую.
Цитата

Как открыть набор данных в C# (MSVC2008)

Если честно, то не понял, что вы имеете в виду?
Что значит открыть?
Можно создать набор данных выполнив sql-запрос к базе данных, можно так же добавть,отредактировать или удалить запись в наборе данных.
Но вот ОТКРЫТЬ. 

А вообще можно пройти в этот раздел форума и посмотреть подходящие темы.

Пример просили, пожалуйста.
Упражнение из школы. Коменты на русском присутствуют. Переменные правда поименованы на Фламандском.
Будут вопросы задавайте не стесняйтесь.

С наилучшими пожеланиями.

Это сообщение отредактировал(а) thomas - 16.3.2008, 22:35

Присоединённый файл ( Кол-во скачиваний: 17 )
Присоединённый файл  Oef20_db_.rar 49,99 Kb


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
Akella
Дата 16.3.2008, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(thomas @  16.3.2008,  22:35 Найти цитируемый пост)
Если честно, то не понял, что вы имеете в виду?


Цитата(Akella @  16.3.2008,  16:14 Найти цитируемый пост)
В общем код в дельфи выглядит так:


Дельфи: На форме лежит грид, датасорс, датасет, датабэйс, всё это связано в цепочку. Как связано в цепочку.
Нажимаю кнопку и выполняется код:
DbGrid1.DataSource.Dataset.open;

Добавлено через 1 минуту и 37 секунд
Цитата(thomas @  16.3.2008,  22:35 Найти цитируемый пост)
Можно создать набор данных выполнив sql-запрос к базе данных, можно так же добавть,отредактировать или удалить запись в наборе данных.
Но вот ОТКРЫТЬ. 

ну не придирайся к словам. Вообще-то да. Именно открыть!!! Набор данных - таблица: DataSet.open; или я опять неправильно выражаюсь?
PM MAIL   Вверх
Akella
Дата 16.3.2008, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Спасибо, конечно за пример, но.... нет у меня этой базы: D:\vti\Margo\cyberpro.mdb

Добавлено через 2 минуты и 32 секунды
Цитата(thomas @  16.3.2008,  22:35 Найти цитируемый пост)
Можно создать набор данных выполнив sql-запрос к базе данных

В базе уже есть таблица, её мне нужно отобразить в гриде. Отобразить в гриде таблицу - это я называю ОТКРЫТЬ набор данных.

Добавлено через 7 минут и 20 секунд
Просто мне привычнее кинуть на форму несколько контролов, настроить соединение в дизайне, а потом по нажатию на кнопку выполнить что-то вроде: 
Код

dataGridView.Datasorce.Dataset.open;

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


Бывалый
*


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

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



Цитата(Akella @  16.3.2008,  23:44 Найти цитируемый пост)
В базе уже есть таблица, её мне нужно отобразить в гриде


Пример для базы Eshop, но можете сделать для своей базы 
в ней есть таблица Monitors со столбцами: MonitorName, Description, Picture
На форме есть: Button: button1, и DataGridView: dataGridView1
Код

private void button1_Click(object sender, EventArgs e)
{
  string nameOfDataBase = "Eshop"; // имя базы

  string connectionString = "Data Source = .\\SQLEXPRESS; " +
    "Initial Catalog = " + nameOfDataBase + "; Integrated Security = true";
  SqlConnection connection = new SqlConnection(connectionString);

  SqlCommand command = new SqlCommand("Select [MonitorName], [Description], [Picture] From [Monitors]", connection);
  SqlDataAdapter adaptar = new SqlDataAdapter(command);
  DataSet dataSet = new DataSet();

  adaptar.Fill(dataSet, "Monitors");

  dataGridView1.DataSource = dataSet.Tables["Monitors"];
}

кликаем по button'у что бы отобразить DataGridView
--------------------
"постановка задачи наполовину решает саму задачу"
PM MAIL   Вверх
Akella
Дата 17.3.2008, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Вроде с дизайном я разобрался, всё отображается.
Выполняю всего-лишь одну строку  smile 
Код

sqlDataAdapter1.Fill(db1DataSet, "Table_1"); 


Добавлено через 1 минуту и 36 секунд
В sqlDataAdapter1 сгенерированы все запросы. Что нужно делать, что-бы грид сам сохранял в базу введенные мню значения. Редактирую грид непосредственно в нём самом.
PM MAIL   Вверх
vponomarov
Дата 17.3.2008, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

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



Цитата

В sqlDataAdapter1 сгенерированы все запросы. Что нужно делать, что-бы грид сам сохранял в базу введенные мню значения. Редактирую грид непосредственно в нём самом. 


в sqlDataAdapter1 нужно прописать insertCommand и updateCommand.
идея точно такая же как и при создании selectCommand, только вместо select че-то там... пишешь insert into... update...
и после окончания редактирования данных необходимо провести синхронизацию данных sqlDataAdapter1.Update()



--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
Akella
Дата 17.3.2008, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(vponomarov @  17.3.2008,  10:39 Найти цитируемый пост)
в sqlDataAdapter1 нужно прописать insertCommand и updateCommand.

неужели я неясно написал, что это сделано?

Добавлено через 48 секунд
Цитата(Akella @  17.3.2008,  00:30 Найти цитируемый пост)
В sqlDataAdapter1 сгенерированы все запросы.

ну не запросы, а команды, так понятнее  smile ?
PM MAIL   Вверх
vponomarov
Дата 17.3.2008, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

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



Цитата

неужели я неясно написал, что это сделано?

не вопрос! раз все сделано - вперд обновлять записи! smile 


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
Akella
Дата 17.3.2008, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



запись в базу не сохраняется


PM MAIL   Вверх
vponomarov
Дата 17.3.2008, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

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



Цитата

запись в базу не сохраняется

DataAdapter.Update("имя таблицы") делал?


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
Akella
Дата 17.3.2008, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(vponomarov @  17.3.2008,  12:26 Найти цитируемый пост)
DataAdapter.Update

это сохранение? или просто обновление таблицы?
PM MAIL   Вверх
vponomarov
Дата 18.3.2008, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

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



Цитата

это сохранение? или просто обновление таблицы? 

это синхронизация данных.
т.е. новые записи будут вставлены в таблицу, измененные проапдейтятся, а удаленные будут удалены.


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
Akella
Дата 18.3.2008, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



т.е. что-то вроде commit?
PM MAIL   Вверх
Voyager
Дата 18.3.2008, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Что-то вроде. DataAdapter.Update записывает изменения, которые сделаны в локальном наборе данных, в базу данных (как и написали - синхронизация).

Это сообщение отредактировал(а) Voyager - 18.3.2008, 16:07
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

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


 




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


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

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