Principales respuestas
Necesito ayuda para agregar un registro en C#

Pregunta
-
Saludos necesito hacer un programa en c# con una base de datos de access.
Pero he llegado a un punto en el que no se que hacer, necesito ayuda por favor.---------------------------------------------------------------------------------------------------------------------------------------
public static void AGREGARPRODUCTO
(
string codigo,
string nombre,
int precio,
string cantidad,
DateTime fechav,
string cliente,
string suplidor
)
{
using (BaseDatos BD = new BaseDatos())
{
}
}------------------------------------------------------------------------------------------------------------------------------
El problema es el siguiente y es que necesito poner BD.Productos.AddObject pero no me sale la opcion, he utilizado esta opcion pero con una basededatos en Sql pero necesito en una de Access, por lo tanto necesito que me digan si existe otra forma de hacerlo, o como lo resolveria. Gracias!
Respuestas
-
BD.Productos.AddObject es una instrucción de Entity Framework. Pero, hasta donde yo sé, no hay Entity Framework para Access. Me temo que tendrás que retroceder a una tecnología más antigua y usar directamente ADO.NET con una conexión OLEDB. Puedes usar datasets + dataadappters o directamente construir la sentencia Insert, parametrizarla, y ejecutarla con un OleDbCommand. En cualquier caso, todo el manejo de datos cambia por completo, no te valdrá nada de lo que conozcas de Entity Framework.
- Propuesto como respuesta Jorge TurradoMVP sábado, 24 de junio de 2017 14:28
- Marcado como respuesta Joyce_ACModerator lunes, 26 de junio de 2017 13:39
-
Hola
Te recomiendo leer este tutorial Parte 5 – Operaciones CRUD
Debes trabajar con en namespace
using System.Data.OleDb;
Algo como ser: Es un ejemplo adaptalo a tus necesidades
public static void Guardar(AlumnoEntity alumno) { using (OleDbConnection cn = new (OleDbConnection(ConfigurationManager.ConnectionStrings["default"].ToString())) { using (OleDbCommand cmd = cn.CreateCommand()) { cmd.CommandText = "INSERT INTO Alumnos(AlumnoId, Nombre, Direccion, Telefono, Email) VALUES(@AlumnoId, @Nombre, @Direccion, @Telefono, @Email)"; cmd.Parameters.AddWithValue("@AlumnoId", alumno.AlumnoId); cmd.Parameters.AddWithValue("@Nombre", alumno.Nombre); cmd.Parameters.AddWithValue("@Direccion", alumno.Direccion); cmd.Parameters.AddWithValue("@Telefono", alumno.Telefono); cmd.Parameters.AddWithValue("@Email", alumno.Email); cmd.ExecuteNonQuery(); } } }
Espero la información brindada sea de utilidad.
Saludos.
Pedro Ávila
"El hombre sabio querrá estar siempre con quien sea mejor que él."
Lima - Perú- Editado Pedro Ávila sábado, 24 de junio de 2017 12:17
- Propuesto como respuesta Jorge TurradoMVP sábado, 24 de junio de 2017 14:28
- Marcado como respuesta Joyce_ACModerator lunes, 26 de junio de 2017 13:39
Todas las respuestas
-
BD.Productos.AddObject es una instrucción de Entity Framework. Pero, hasta donde yo sé, no hay Entity Framework para Access. Me temo que tendrás que retroceder a una tecnología más antigua y usar directamente ADO.NET con una conexión OLEDB. Puedes usar datasets + dataadappters o directamente construir la sentencia Insert, parametrizarla, y ejecutarla con un OleDbCommand. En cualquier caso, todo el manejo de datos cambia por completo, no te valdrá nada de lo que conozcas de Entity Framework.
- Propuesto como respuesta Jorge TurradoMVP sábado, 24 de junio de 2017 14:28
- Marcado como respuesta Joyce_ACModerator lunes, 26 de junio de 2017 13:39
-
Hola
Te recomiendo leer este tutorial Parte 5 – Operaciones CRUD
Debes trabajar con en namespace
using System.Data.OleDb;
Algo como ser: Es un ejemplo adaptalo a tus necesidades
public static void Guardar(AlumnoEntity alumno) { using (OleDbConnection cn = new (OleDbConnection(ConfigurationManager.ConnectionStrings["default"].ToString())) { using (OleDbCommand cmd = cn.CreateCommand()) { cmd.CommandText = "INSERT INTO Alumnos(AlumnoId, Nombre, Direccion, Telefono, Email) VALUES(@AlumnoId, @Nombre, @Direccion, @Telefono, @Email)"; cmd.Parameters.AddWithValue("@AlumnoId", alumno.AlumnoId); cmd.Parameters.AddWithValue("@Nombre", alumno.Nombre); cmd.Parameters.AddWithValue("@Direccion", alumno.Direccion); cmd.Parameters.AddWithValue("@Telefono", alumno.Telefono); cmd.Parameters.AddWithValue("@Email", alumno.Email); cmd.ExecuteNonQuery(); } } }
Espero la información brindada sea de utilidad.
Saludos.
Pedro Ávila
"El hombre sabio querrá estar siempre con quien sea mejor que él."
Lima - Perú- Editado Pedro Ávila sábado, 24 de junio de 2017 12:17
- Propuesto como respuesta Jorge TurradoMVP sábado, 24 de junio de 2017 14:28
- Marcado como respuesta Joyce_ACModerator lunes, 26 de junio de 2017 13:39
-
hola
>>es que necesito poner BD.Productos.AddObject
AddObject ?
Cuando defines BaseDatos en el using puedes determinar donde se define esa clase? tienes algun diagrama visual donde mapeas la db a clases
Porque cambias de una db de versas como es Sql Server a Ms Access ? entienedo si lo harias a MySql o quizas a Sqlite o Sql Compact, pero porque Access
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina