Foros del Web » Programación para mayores de 30 ;) » .NET »

Insertar en SQL con C# 2005?

Estas en el tema de Insertar en SQL con C# 2005? en el foro de .NET en Foros del Web. Hola amigos Estoy aprendiendo C# Siguiendo unos videos que conseguí, estoy desarrollando un aplicación, todo va de maravilla, excepto porque todas las transacciones que hago ...
  #1 (permalink)  
Antiguo 26/08/2006, 13:32
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 20 años, 5 meses
Puntos: 0
Insertar en SQL con C# 2005?

Hola amigos

Estoy aprendiendo C#
Siguiendo unos videos que conseguí, estoy desarrollando un aplicación, todo va de maravilla, excepto porque todas las transacciones que hago no se realizan en la base de datos.

Uso .NET 2005
Uso un DataSet para conectar a SQL
las consultas a la DB las hace super bien, pero a la hora de insertar lo hace sólo virtualmente y no hace cambios en la base de datos.
Se supone que con las instrucciones...

nuevo = nueva instancia del dataset.row //esto si está bien declarado
//es que no me acuerdo y no estoy en mi PC
tableadapter.Update(nuevo)

...se actualiza la DB, pero no lo hace?
¿cómo me conecto realmente a la DB?
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #2 (permalink)  
Antiguo 27/08/2006, 01:53
 
Fecha de Ingreso: agosto-2006
Mensajes: 101
Antigüedad: 17 años, 8 meses
Puntos: 0
Por qué no haces las actualizaciones a mano? Es decir, con una consulta UPDATE o INSERT a través de un sqlCommand. Eso seguro que no te fallará.

Te pego un trozo de código de ejemplo:

Supongamos que cn es una conexion. Un objeto de la clase sqlConnectio y está establecida y abierta.
Código:
SqlCommand cm = new SqlCommand();
cm.Connection = cn;
cm.CommandType = CommandType.Text;
cm.CommandText = "INSERT INTO personas(nombre,apellido)values(@nombre,@apellido)";
SqlParameter par_nombre = cm.Parameters.Add("@nombre", SqlDbType.NChar);
SqlParameter par_apellido = cm.Parameters.Add("@apellido", SqlDbType.NChar);
par_nombre.Value = nombre;
par_apellido.Value = apellido;
cm.ExecuteNonQuery();
  #3 (permalink)  
Antiguo 28/08/2006, 12:19
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracias dvelazquez, voy a probar.

sin embargo ahora sí tengo mi código disponible, lo voy a colocar aquí como para que lo ojeen y me den sus sugerencias. Gracias.

private void agregarCD()
{
try
{ //NuevoDisco es una instancia del Form nuevo
nuevo NuevoDisco = new nuevo();
NuevoDisco.Idendisco = 0;
NuevoDisco.CDdescripcion = "";
NuevoDisco.Estate = 1;

DialogResult resultado = NuevoDisco.ShowDialog();

if (resultado == DialogResult.OK)
{ //disco es un nuevo registro de la tabla infocd


CDDBDataSet.infocdRow disco = cDDBDataSet.infocd.NewinfocdRow();

//se asignan los nuevos valores.
disco.descripcion = NuevoDisco.CDdescripcion;
disco.idestado = NuevoDisco.Estate;
//se agregan los valores al DataSet
cDDBDataSet.infocd.Rows.Add(disco);
//cDDBDataSet.infocd.AddinfocdRow(disco);

int regAfect = this.infocdTableAdapter.Update(disco);
//se actualizan los valores en el TableAdapter
if (regAfect > 0)
{
MessageBox.Show("El CD ha sido creado satisfactoriamente");

}
else
{
MessageBox.Show("Se ha producido un error durante la creación del CD");
}
}
else
{
MessageBox.Show("La creación del CD ha sido cancelada");
}
//ya no se necesita el objeto formulario nuevo.
NuevoDisco = null;

}
catch (System.Exception ex)
{ //si se da algún error se mostrará aquí
MessageBox.Show("Error: " + ex);
}
}

Como pueden notar es una aplicación sencilla, justo estoy aprendiendo C# y pues esta es mi 1er aplicación. Gracias por la ayuda.
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:

Última edición por v_i_n_i_c_i_o; 28/08/2006 a las 12:20 Razón: ortografía, jeje
  #4 (permalink)  
Antiguo 28/08/2006, 13:34
 
Fecha de Ingreso: agosto-2006
Mensajes: 101
Antigüedad: 17 años, 8 meses
Puntos: 0
Uf, veo que añades cosas al dataset y tal... y luego un .update de un adaptador.

Yo es que he tenido infinidad de problemas con eso. Ten en cuenta que si lo haces así, vas a tener que aprender el manejo exacto de Microsoft de ese tipo de objetos, cuando si usas lo que te he comentado yo, podrás tener tu el control absoluto de lo que vayas a hacer.

Mirate estos links:

http://www.webprogramacion.com/registro.aspx?id=12

http://www.webprogramacion.com/registro.aspx?id=5

Uno para insertar y el otro para consultar.

Saludos compañero.

Última edición por dvelazquez; 08/08/2007 a las 01:59
  #5 (permalink)  
Antiguo 28/08/2006, 21:04
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 20 años, 5 meses
Puntos: 0
Tengo un problema, no sé cómo crear el objeto cn, no encuentro nada que diga SqlConnection y en la ayuda de .Net ponen ejemplos que suponen ya está echa...
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #6 (permalink)  
Antiguo 29/08/2006, 01:44
 
Fecha de Ingreso: agosto-2006
Mensajes: 101
Antigüedad: 17 años, 8 meses
Puntos: 0
El objeto cn se hace así:

Código:
SqlConnection cn;
cn=new("Data Source=servidor_sql;Initial Catalog=base_de_datos;User Id=usuario;Password=contraseña;")
Mirate otra vez el link
http://www.webprogramacion.com/registro.aspx?id=12

que te lo he corregido y ampliado.

Saludos y espero que te funcione correctamente.

Última edición por dvelazquez; 08/08/2007 a las 01:59
  #7 (permalink)  
Antiguo 30/08/2006, 09:36
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracias una vez más.
Comprendo la idea, el problema que tengo ahora es que me da un error de autenticación, ya que me da un error indicando que el usuario no coincide

¿dónde puedo averiguar que usuario tiene SQL ?(la verdad no recurdo haber puesto alguno, lo he probado en blanco y con -sa- pero no funciona)
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #8 (permalink)  
Antiguo 30/08/2006, 09:48
 
Fecha de Ingreso: agosto-2006
Mensajes: 101
Antigüedad: 17 años, 8 meses
Puntos: 0
Ve a la herramienta de administración de SQL server llamada:
Enterprise Manager. Viene cuando instalas SQL Server. Si lo tienes en castellano tiene otro nombre. Creo que es Administrador empresarial o algo asi.

Ahi puedes añadir un usuario, tanto para el SQL Server como para la base de datos a la que quieres acceder.

Entra aquí para ver las diversas cadenas de conexión que tienes disponibles.
www.connectionstrings.com

Saludos.

Última edición por dvelazquez; 08/08/2007 a las 01:57
  #9 (permalink)  
Antiguo 04/09/2006, 16:42
Avatar de v_i_n_i_c_i_o  
Fecha de Ingreso: noviembre-2003
Ubicación: Costa Rica
Mensajes: 422
Antigüedad: 20 años, 5 meses
Puntos: 0
sigo con problemas, no establece la conexión ni reconoce el usuario, no tengo idea de qué hacer
__________________
"Un experto es una persona que ha cometido todos los errores que se pueden cometer en un determinado campo" - Niels Bohr
:cool: 0!)!u!/\ :patada:
  #10 (permalink)  
Antiguo 04/09/2006, 20:32
 
Fecha de Ingreso: agosto-2006
Ubicación: en lima peru
Mensajes: 184
Antigüedad: 17 años, 8 meses
Puntos: 0
Solucion

privacidad de datos

Última edición por programadorvip; 25/05/2012 a las 10:43 Razón: privacidad de datos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 22:22.