Что такое ADO.NET? - PullRequest
       22

Что такое ADO.NET?

8 голосов
/ 18 марта 2010

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

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

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

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

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

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

SQLite.NET

Framework

ADO.NET

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

Поставщик ADO.NET 2.0 для SQLite

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

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

Ответы [ 5 ]

8 голосов
/ 18 марта 2010

Слабо, в спокойной речи

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

Поставщик 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 и поставщик SQLite Entity Framework Это совершенно другой предмет полностью. Посмотрите объектное реляционное отображение

4 голосов
/ 18 марта 2010

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

ADO.NET - платформа для доступа к данным из .NET (эволюция объектов данных ActiveX из VB)

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

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

Поставщик ADO.NET 2.0 для SQLite -. Совместимый с .NET 2.0 Поставщик ADO.NET для SQLite (именно таков SQLite.NET)

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

SQLite Entity Framework - это ADO.NET Entity Framework для баз данных SQLite.

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

1 голос
/ 18 марта 2010

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

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

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

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

0 голосов
/ 21 марта 2016
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;
      }





}
0 голосов
/ 18 марта 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...