2010-03-18 9 views
8

He escrito algunos Access db's y he usado algunos VBA ligeros, y tenía una clase OO. Ahora me estoy comprometiendo a escribir una aplicación C# db. Tengo VS y System.Data.SQLite instalados y conectados, y he ingresado a mis tablas y columnas, pero ahí es donde estoy atascado.¿Qué es ADO.NET?

Estoy tratando de encontrar la información y los tutoriales que necesito buscar, pero hay muchos términos que no entiendo y no sé si se aplican exactamente a mi proyecto o no.

He leído las definiciones de estos términos (Wikipedia y en otros lugares), pero las definiciones no tienen sentido para mí porque no sé qué son, cómo encajan o cuáles son opcionales o no opcionales para mi proyecto

Algunos de los términos del sitio web System.Data.SQLite (quería utilizar System.Data.SQLite para mi db).

Pensé que mi primer paso en mi proyecto sería establecer y probar las bases de datos y las consultas. Dime si hay otras piezas de esta parte del rompecabezas que también necesitaré saber. Si puedo descubrir qué es qué, puedo empezar a buscar los tutoriales que necesito. (Por cierto, sé que no quiero usar un ORM porque mi aplicación es muy simple, y porque quiero evitar morder demasiado demasiado pronto).

Muchas gracias.

SQLite.NET

Marco

ADO.NET

proveedor de ADO.NET

ADO.NET 2.0 Proveedor para SQLite

Actualización: ha eliminado "Marco de la entidad "términos porque aparentemente son ORM, que no usaré.

También, por favor hablar conmigo como si yo sé nada excepto lo que mi experiencia limitada (arriba) cubiertas (por desgracia ese es el caso, ya que he recibido tan confundido al tratar de investigar estas cosas, todos los términos tienen abrumado yo en sobrecarga-parálisis.) Gracias.

+0

Le sugiero que pregunte por los términos específicos que no comprende en las definiciones de Wikipedia, y que no están definidos en sus propios artículos de Wikipedia. –

Respuesta

7

sin apretar, en una corta hablan

ADO.NET es una biblioteca de comandos y objetos que permiten su aplicación a hablar con una base de datos. Si ha usado ADODB en VB6/C++, entonces ADO.NET es el equivalente de .net (vb.net/C#). ADO.NET le proporciona objetos tales como un objeto de conexión, conjunto de datos y objetos del lector de datos.

proveedor ADO.NET Piense en un proveedor como un controlador de gráficos o dispositivos. Cada vez que coloque una tarjeta gráfica diferente dentro de su computadora, necesitará un nuevo controlador de gráficos para que su tarjeta gráfica funcione al máximo. Lo mismo es cierto para ADO.NET, para cada tipo diferente de base de datos a la que se conecte (por ejemplo, Microsoft Access, Microsoft SQL Server, MySQL, Sybase, Oracle, etc.) necesitará un proveedor ADODB.Net diferente. Un puñado vienen de serie (por ejemplo, el proveedor de SQL Server)

SQLite.NET es un servidor de base de datos o RDBMS - piensa en él como un competidor de peso ligero a SQL Server o MySQL.

ADO.NET 2.0 Proveedor para SQLite ¡Combina las dos últimas respuestas!

SQLite Entity Framework y SQLite Entity Framework provider Este es un tema completamente diferente por completo. Buscar Asignación relacional de objetos

+0

Gracias CResults. ¿Las bibliotecas ADO.NET vienen estándar en VS/C#? (No estoy familiarizado con ADODB.) Si ADO.NET son las bibliotecas, ¿qué hace el proveedor de ADO.NET? – ChrisC

+0

Sí, viene con VS/C# ya que forma parte del marco de dotnet y vive bajo el espacio de nombres System.Data. Ver mi edición al proveedor ADO.NET anterior. – CResults

+0

Tengo, creo. Entonces, dado que estoy usando SQLite como mi base de datos, y he instalado System.Data.SQLite, y he creado un archivo db y tecleé mis tablas y columnas en VS, ¿eso significa que System.Data.SQLite es mi proveedor y yo ' m cubierto con respecto a ese punto? – ChrisC

4

que añade Marco de la entidad a la lista ya que es la base para un par de sus preguntas ...

ADO.NET - El Marco para acceder a datos de .NET (Una evolución de objetos de datos ActiveX de VB)

SQLite.NET - Bibliotecas .NET para acceder a bases de datos SQLite

proveedor ADO.NET - El proveedor .NET para diferentes fuentes de datos que cumplen con ADO.NET estándares.

ADO.NET 2.0 Proveedor para SQLite - .NET 2.0 Proveedor compatible ADO.NET para SQLite (esto es lo que es SQLite.NET)

Enitity Framework - Una Microsoft proporciona relacional de objetos Mapper ayudar a mapear Datos de ADO.NET de vuelta a los objetos en su aplicación (en lugar de tener que escribir todo el SQL usted mismo).

SQLite Entity Framework - Este es el Entity Framework de ADO.NET para bases de datos SQLite.

SQLite Entity Framework Provider - Otro término para ADO.NET 2.0 Provider for SQLite (los proveedores de ADO.NET proporcionan la base sobre la que se basa Entity Framework).

+0

Gracias Justin. Otro respondedor dijo que ADO.NET son las bibliotecas que se usan para comunicarse con un db, pero usted tiene que ADO.NET es un "marco". ¿Es eso lo mismo? Además, tienes que SQLite.NET son bibliotecas. ¿Tener bibliotecas SQLite.NET significa que no usaré bibliotecas ADO.NET? – ChrisC

+0

ADO.NET es un Framework ... parte del cual son los proveedores ADO.NET que proporcionan la interfaz real a las bases de datos (SQL Server, Oracle, SQLite, etc.). SQLite.NET es el proveedor ADO.NET para bases de datos SQLite (por lo tanto, cuando usa SQLite, usa ADO.NET). –

1

Hay una gran cantidad de libros escritos para cubrir este tema ... por lo que esta no será una respuesta exhaustiva, pero esto le dará la información necesaria para comenzar. Y está muy simplificado.

ADO.NET es un marco que le permite administrar, en memoria, los datos recuperados de la base de datos (almacenamiento permanente) y conectarlos a objetos de visualización (cuadros de texto, etc.). Las bases de datos de acceso tienen todas las "capas" que contiene (el formulario, la consulta, las tablas) y no tiene que meterse demasiado con las actividades para recuperar la información y mostrarlas. Sin embargo, ahora que se ha graduado a un proyecto de Visual Studio, necesita administrar cada una de las capas.

  1. Crear la base de datos
  2. rellenarlo con los datos
  3. Crear procedimientos almacenados (en la base de datos), o escribir sentencias SQL (en la aplicación) para recuperar, insertar, eliminar, actualizar datos mediante el uso de objetos de comando
  4. Instalar un proveedor de datos (para SQLite, MSSQL, MySQL, Oracle)
  5. crear la interfaz de usuario
  6. en la interfaz de eventos, cree una instancia de la conexión de un proveedor de ADO.NET, adaptador, y el Comando/Tabla Obje cts.
  7. Usando los objetos Command (y DataReaders), recupera datos usando instrucciones SELECT; y, posteriormente, utilizar las instrucciones Actualizar, Insertar, Eliminar para recuperar datos.
  8. Actualice los cuadros de texto de la interfaz haciendo referencia a los campos Lector.

En las partes 3-7 usted hará la mayor parte de su trabajo (lo que está preguntando); utilizará ADO.net para conectarse a la fuente de datos, utilizando un proveedor de datos (SQLite) + cadena de conexión (con nombre de catálogo, nombre de usuario, contraseña, tipo de conexión). Luego, use los objetos, como Conexiones (para conectar), Adaptadores (para construir áreas de espera) y Tablas de datos (tablas en la memoria) para realizar la recuperación de datos y las acciones que obtienen y empujan los datos hacia y desde la base de datos (datos permanentes estáticos)

+0

Q en el paso 1: parte de lo que estoy tratando de averiguar es cómo terminar de configurar mi db (tablas y columnas están hechas). Cosas como relaciones, etc. Pregunta Q en el paso 3: ¿cómo decido si las consultas deberían estar en la base de datos o en la aplicación? P en el paso 4: ¿Ya no instalé el proveedor (porque estoy configurando el db desde 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; 
     } 





}