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

no puedo insertar en BD

Estas en el tema de no puedo insertar en BD en el foro de .NET en Foros del Web. Tengo un problema cuando inserto datos en mi base de datos, me inserta NULL en vez del valor que le he dicho. Estoy usando Mysql ...
  #1 (permalink)  
Antiguo 15/07/2004, 13:25
 
Fecha de Ingreso: julio-2004
Mensajes: 3
Antigüedad: 19 años, 9 meses
Puntos: 0
no puedo insertar en BD

Tengo un problema cuando inserto datos en mi base de datos, me inserta NULL en vez del valor que le he dicho. Estoy usando Mysql e inserto los datos desde una aplicación que estoy creando con C# en Visual Studio.net.
Las instrucciones que sigo para insertar son las siguientes:

//creo la sentencia sql
string sql ="insert into t2(id) values(@idc)";
//creo la variable parametro
OdbcParameter n = new OdbcParameter();
n.ParameterName="@idc";
n.OdbcType = OdbcType.Char;
n.Size = 8;
n.SourceColumn="id";
//le asigno el valor (pero al insertar no inserta esto)
n.Value = "a";
//Añado la variable
cmd.Parameters.Add(n);
//creo el comando
cmd = new OdbcCommand(sql, conn);

//abro la conexion, ejecuto y cierro conexion
cmd.Connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection.Close();

Por favor, necesito ayuda.
Si me podeis decir donde esta el fallo o explicarme otra forma de insertar os lo agradeceria.

ciao
  #2 (permalink)  
Antiguo 15/07/2004, 13:39
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 21 años
Puntos: 2
Será por q esto tienes q ponerlo antes de asignar el parametro y no despues...

Código:
cmd = new OdbcCommand(sql, conn);
  #3 (permalink)  
Antiguo 15/07/2004, 16:10
 
Fecha de Ingreso: julio-2004
Mensajes: 3
Antigüedad: 19 años, 9 meses
Puntos: 0
Perdon, eso ha sido un error al copiar el codigo, no se trata de eso. ¿Podria ser que el tipo no tipo de la variable (Odbctype) no es el mismo que el del esquema de la bd? ¿Donde puedo encontrar la correspondencia de tipos de mysql y C#?

Gracias
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




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