2010-03-18 2 views
8

Я написал несколько Access db и использовал некоторый легкий VBA и имел класс OO. Теперь я начинаю писать приложение C# db. У меня есть VS и System.Data.SQLite, которые установлены и подключены, и ввели мои таблицы и столбцы, но вот где я застрял.Что такое ADO.NET?

Я пытаюсь найти, какую информацию и учебные пособия мне нужно искать, но есть много терминов, которые я не понимаю, и я не знаю, насколько они применимы к моему проекту.

Я читал определения для этих терминов (Wikipedia и в других местах), но определения не имеют для меня смысла, потому что я не знаю, что они представляют и как они подходят друг другу, или какие из них являются необязательными или необязательными для моего проекта.

Некоторые термины на сайте System.Data.SQLite (я хотел использовать System.Data.SQLite для моего db).

Я решил, что мой первый шаг в моем проекте состоял бы в том, чтобы настроить и протестировать db и запросы. Скажите, пожалуйста, если есть другие части этой части головоломки, о которой мне нужно будет знать. Если я смогу понять, что к чему, я могу начать искать нужные мне уроки. (Кстати, я знаю, что я не хочу использовать ORM, потому что мое приложение настолько простое, и потому, что я хочу слишком быстро откусить слишком много.)

Большое спасибо.

SQLite.NET

Framework

ADO.NET

поставщик ADO.NET

ADO.NET 2.0 Provider для SQLite

Обновление: Удалены «Framework Entity «потому что, по-видимому, это ORM, которые я не буду использовать.

Кроме того, пожалуйста, поговорите со мной, как будто я не знаю, ничего кроме того, что мой ограниченного опыта (выше) крышки (к сожалению, это так, поскольку я получил так растерялся, пытаясь исследовать этот материал, все термины имеют перегружены я в перегруз-паралич.) Спасибо.

+0

Могу ли я предложить вам конкретные термины, которые вы не понимаете в определениях Википедии, и которые сами не определены в их собственных статьях в Википедии. –

ответ

7

затягивая, в легко говорить

ADO.NET библиотека команд и объектов, которые позволяют приложению говорить с базой данных. Если вы использовали ADODB в VB6/C++, то ADO.NET является эквивалентом .net (vb.net/C#). ADO.NET предоставляет вам объекты, такие как объект подключения, набор данных и объекты datareader.

Поставщик ADO.NET Подумайте о поставщике, как о графике или драйвере устройства. Каждый раз, когда вы помещаете другую графическую карту в свой компьютер, у вас должен быть новый графический драйвер, чтобы ваша видеокарта работала в лучшем виде. То же самое верно для ADO.NET, для каждого типа базы данных, к которой вы подключаетесь (например, Microsoft Access, Microsoft SQL Server, MySQL, Sybase, Oracle и т. Д.), Вам понадобится другой поставщик ADODB.Net. Горстка в стандартной комплектации (например, поставщик для SQL Server)

SQLite.NET Является ли сервер базы данных или СУБД - думать об этом как легкий конкурент SQL Server или MySQL.

Поставщик ADO.NET 2.0 для SQLite Объедините последние два ответа!

SQLite Entity Framework и поставщик сущности Entity Framework SQLite Это совершенно другой предмет полностью. Посмотрите объект Реляционное картографирование

+0

Спасибо CResults. Доступны ли библиотеки ADO.NET в VS/C#? (Я не знаком с ADODB.) Если ADO.NET - это библиотеки, то что делает поставщик ADO.NET? – ChrisC

+0

Да, он поставляется с VS/C#, поскольку он является частью сетки dot net и живет под пространством имен System.Data. См. Мое редактирование для поставщика ADO.NET выше. – CResults

+0

Gotcha, думаю. Поэтому, поскольку я использую SQLite в качестве моего db и установил System.Data.SQLite, и создал db и использовал мои таблицы и столбцы в VS, означает ли это, что System.Data.SQLite является моим провайдером, m покрывается относительно этого пункта? – ChrisC

4

Я добавил Entity Framework в список, так как это основа для пары ваших вопросов ...

ADO.NET - Рамки для доступа к данным из .NET (Эволюция ActiveX Data Objects из VB)

SQLite.NET - .NET библиотеки для доступа к базам данных SQLite

ADO.NET Provider - в .NET Provider для различных источников данных, которые соответствуют ADO.NET стандарты.

ADO.NET 2.0 Provider для SQLite - .NET 2.0 Совместимость ADO.NET Provider для SQLite (это то, что SQLite.NET есть)

Enitity Framework - это Microsoft при условии, Object Relational Mapper для help map Данные из ADO.NET обратно в объекты в вашем приложении (вместо того, чтобы писать все SQL самостоятельно).

SQLite Entity Framework - Это СУБД ADO.NET для баз данных SQLite.

Поставщик платформы SQLite Entity Framework - Еще один термин для провайдера ADO.NET 2.0 для SQLite (поставщики ADO.NET предоставляют базу, на которой строятся Entity Framework).

+0

Спасибо, Джастин. Другой ответчик сказал, что ADO.NET - это библиотеки, которые используются для связи с db, но у вас этот ADO.NET является «каркасом». Это то же самое? Кроме того, у вас есть библиотеки SQLite.NET. Имеет ли библиотека SQLite.NET, что я не буду использовать библиотеки ADO.NET? – ChrisC

+0

ADO.NET - это платформа ... частью которой являются поставщики ADO.NET, которые обеспечивают фактический интерфейс к базам данных (SQL Server, Oracle, SQLite и т. Д.). SQLite.NET является поставщиком ADO.NET для баз данных SQLite (поэтому, когда вы используете SQLite, вы используете ADO.NET). –

0

Его структура доступа к данным в .NET.

DataTables и DataAdapters, вероятно, хорошие места для начала, если вы полностью потеряны.

1

На эту тему написано большое количество книг, поэтому это не будет исчерпывающим ответом, но это даст вам необходимую информацию, необходимую для начала. И это очень упрощено.

ADO.NET - это структура, которая позволяет вам управлять в памяти данными, полученными из базы данных (постоянное хранилище) и подключать их к отображению объектов (текстовые поля и т. Д.). У баз данных доступа есть все «слои», содержащиеся в нем (форма, запрос, таблицы), и вам не нужно слишком много вмешиваться в действия по извлечению информации и ее отображению. Однако теперь, когда вы закончили проект Visual Studio, вам необходимо управлять каждым из слоев.

  1. Создание базы данных
  2. Заполняем его с данными
  3. Создание хранимых процедур (в базе данных), или писать SQL-операторы (в приложении) для извлечения, вставки, удаления, данные обновления с помощью объектов Command
  4. Установка поставщика данных (для SQLite, MSSQL, MySQL, Oracle)
  5. Построение пользовательского интерфейса
  6. в интерфейсе событий, создать экземпляр поставщика ADO.NET Connection, адаптер и Command/Таблица OBJE каратов.
  7. Использование объектов Command (и DataReaders), получение данных с помощью операторов SELECT; и затем с помощью «Обновить», «Вставить», «Удалить», чтобы вернуть данные.
  8. Обновите текстовые поля интерфейса, указав поля Reader.

В частях 3-7 вы сделаете большую часть своей работы (материал, о котором вы спрашиваете); вы будете использовать ADO.net для подключения к источнику данных, используя строку поставщика данных (SQLite) + (с именем каталога, именем пользователя, паролем, типом подключения). Затем используйте объекты, такие как Connections (to connect), Adapters (для создания областей хранения) и DataTables (таблицы в памяти) для выполнения поиска данных и действия, которые получают и выталкивают данные в/из базы данных (статические постоянные данные).

+0

Q на шаге 1: часть того, что я пытаюсь выяснить, - это то, как закончить настройку моего db (tabkes и colums). Такие вещи, как отношения и т. Д. Q на шаге 3: как я могу решить, должны ли запросы быть в db или в приложении? Q на шаге 4: я еще не установил провайдера (потому что я настраиваю db из VS)? – ChrisC

0
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Text; 
using System.Data; 
using System.Data.SqlClient; 
using System.Configuration; 

namespace DAL 
{ 
    public class DBUtility 
    { 
     public static SqlConnection getconnection() 
     { 

      SqlConnection dbconnection = null; 
      ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings["constr"]; 
      if(settings!=null) 
      { 
       string str = settings.ConnectionString; 
       dbconnection = new SqlConnection(str); 
      } 
      return dbconnection; 
     } 
    } 




     public int createasn(IShipmentBO objBO) 
     { 
      int ret = 0; 
      SqlConnection conn = DBUtility.getconnection(); 
      conn.Open(); 
      SqlCommand cmd = new SqlCommand(); 
      cmd.CommandType = CommandType.StoredProcedure; 
      cmd.CommandText = "sp_CreateASN"; 
      cmd.Connection = conn; 
      cmd.Parameters.AddWithValue("@POnumber", objBO.Ponum); 
      cmd.Parameters.AddWithValue("@Unitsdelivered", objBO.Unitsdel); 
      cmd.Parameters.AddWithValue("@Totalprice", objBO.Totalprice); 
      cmd.Parameters.AddWithValue("@Expdeldate", objBO.Asnstatus);  
      ret = cmd.ExecuteNonQuery(); 
      conn.Close(); 

      return ret; 
     } 





} 
Смежные вопросы