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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запрос к базе данных, Не бейте я новичек 
:(
    Опции темы
gambit
Дата 15.2.2009, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



сейчас изучаю asp.net пытаюсь работать с базой данных, нашел кусок кода

Код

            SqlConnection myConnection = new SqlConnection(здесь вписал строку соединения с базой);
            SqlCommand myCommand = new SqlCommand(здесь запрос, myConnection);
            myCommand.Connection.Open();
            myCommand.ExecuteNonQuery();
            myConnection.Close();


запрос выполняет, а как получить результат запроса???
PM MAIL ICQ Skype   Вверх
gambit
Дата 15.2.2009, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



или есть другая возможность выполения запросов??? Принимаются любые варианты. ))
PM MAIL ICQ Skype   Вверх
antikom
Дата 17.2.2009, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Используй SqlDataReader
PM MAIL WWW ICQ Skype YIM   Вверх
unicuum
  Дата 17.2.2009, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(gambit @  15.2.2009,  21:16 Найти цитируемый пост)
запрос выполняет, а как получить результат запроса??? 

ExecuteNonQuery для команд INSERT, DELETE и UPDATE.

Код
public void CreateMySqlCommand(string myExecuteQuery, SqlConnection myConnection) 
 {
    SqlCommand myCommand = new SqlCommand(myExecuteQuery, myConnection);
    myCommand.Connection.Open();
    myCommand.ExecuteNonQuery();
    myConnection.Close();
 }


Для SELECT надо использовать или SqlCommand.ExecuteScalar для получения одной самой первой ячейки, или SqlCommand.ExecuteReader для последовательного прохода по записям.

Или кешировать данные, то есть залить их в оперативную память, в такие объекты как DataSet, DataTable и так далее. Делается это с помощью специально класса называемого адаптером данных SqlDataAdapter. У него есть два метода отвечающего за эти операции, Fill - заливает твои данные по запросу SELECT из базы в отсоединённые объекты, Update - наоборот из отсоединённых объектов меняет данные в базе, но у же по запросам INSERT, DELETE и UPDATE.

DataSet это набор данных, можно рассматривать как базу в оперативной памяти, его основа - коллекция таблиц и связей между ними. Когда ты заливаешь адаптером данных (Fill)  данные в DataSet, DataTable и прочие отсоединённые объекты, то данные которые ты получил становятся независимыми. Потом меняя данные с помощью этих классов, ты проводишь обратную операцию обновления (Update) и они автоматом меняются в базе.

Пример:
Код
   void ConnectToData(){
      // Create the ConnectionString and create a SqlConnection.
      // Change the data source value to the name of your computer.
      
      string cString = "Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer";
      SqlConnection myConnection = new SqlConnection(cString);
      // Create a SqlDataAdapter.
      SqlDataAdapter myAdapter = new SqlDataAdapter();
      myAdapter.TableMappings.Add("Table", "Suppliers");
      myConnection.Open();
      SqlCommand myCommand = new SqlCommand("SELECT * FROM Suppliers",
      myConnection);
      myCommand.CommandType = CommandType.Text;
   
      myAdapter.SelectCommand = myCommand;
      Console.WriteLine("The connection is open");

      ds = new DataSet("Customers");
      myAdapter.Fill(ds);

      // Create a second Adapter and Command.
      SqlDataAdapter adpProducts = new SqlDataAdapter();
      adpProducts.TableMappings.Add("Table", "Products");
      SqlCommand cmdProducts = new SqlCommand("SELECT * FROM Products", 
      myConnection);
      adpProducts.SelectCommand = cmdProducts;
      adpProducts.Fill(ds);
      myConnection.Close();

      Console.WriteLine("The connection is closed.");
      System.Data.DataRelation dr;
      System.Data.DataColumn dc1;
      System.Data.DataColumn dc2;

      // Get the parent and child columns of the two tables.
      dc1 = ds.Tables["Suppliers"].Columns["SupplierID"];
      dc2 = ds.Tables["Products"].Columns["SupplierID"];
      dr = new System.Data.DataRelation("suppliers2products", dc1, dc2);
      ds.Relations.Add(dr);
   }
}


Но это теория ADO.NET, лучше бы тебе конечно почитать про ASP.NET непосредственно, чтобы сразу на практике реализовывать готовые проекты.


--------------------
user posted image
обычный день на винграде
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

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

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

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


 




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


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

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