Me inserta 2 registros :(

24/12/2003 - 13:58 por Alberto | Informe spam
No entiendo que tiene este metodo de mal:
public void Agregar(string strTabla,string
strDescrip,decimal dcImp, DateTime dtFecha,string
strPersona)
{

sqlCmd.CommandText="INSERT INTO
["+strTabla+"] ([Descripcion],[Importe],[Fecha],[Persona])
VALUES (@Desc,@Imp,@Fecha,@Pers)";

sqlCmd.Parameters.Add
("@Desc",strDescrip);
sqlCmd.Parameters.Add
("@Imp",dcImp);
sqlCmd.Parameters.Add
("@Fecha",dtFecha);
sqlCmd.Parameters.Add
("@Pers",strPersona);

sqlCmd.Connection = sqlCon;
sqlDs.Clear();

sqlCon.Open();
sqlCmd.ExecuteNonQuery();
sqlDa.Fill(sqlDs,strTabla);
sqlCon.Close();
}

Me agrega 2 registros, y en ningu momento lo llamo 2 veces
al metodo, que puede ser?

Gracias :D

Preguntas similare

Leer las respuestas

#1 Carlos Guzmán Álvarez
24/12/2003 - 14:20 | Informe spam
Hola:

Me agrega 2 registros, y en ningu momento lo llamo 2 veces
al metodo, que puede ser?



Estas usando sqlCmd en sqlDa.Selectcommand ?? en tal caso lo mas
probable es que el segundo registro lo esta insertando al ejecutar
sqlDa.Fill.


Best regards

Carlos Guzmán Álvarez
Vigo-Spain
Respuesta Responder a este mensaje
#2 Alberto
24/12/2003 - 14:34 | Informe spam
Si, estoy usando SelectCommand :(
No entiendo, como deberia ser?

Gracias
Respuesta Responder a este mensaje
#3 Carlos Guzmán Álvarez
24/12/2003 - 14:56 | Informe spam
Hola:

Si, estoy usando SelectCommand :(
No entiendo, como deberia ser?



Usa una instancia de SqlCommand nueva para ejecutar el insert.


Un saludo
Carlos Guzmán Álvarez
Vigo-España
Respuesta Responder a este mensaje
#4 Abelardo Barberena Gil
26/12/2003 - 04:15 | Informe spam
NO necesitas crear parámetros, solo en la cadena fíjate que se una TODA con
los valores que recibe la función , sino, solo creas DUPLICIDAD de variables
y disminuye el rendimiento de tu programa ya que ocupa MAS memoria. ok..???
Mira amigo, lo que debes hacer es con el sqlCmd:

sqlCmd.connection = sqlCon;
sqlCmd.commandtext = "INSERT INTO " + strTabla +
"(Descripcion,Importe,Fecha,Persona) VALUES ( '" + strDescrip + "', " +
dcImp + ", " + dtFecha + ", '" + strPersona + "' )";

esta cadena es la que debe ir el texto del SQLDATA ADAPTER, pero cuida que
lleve la COMILLA SIMPLE o apóstrofo '.

luego ejecutas el comando

sqlCmd.EXECUTENONQUERY();

limpias el dataset con clear();

y lo vuelves a llenar con el Métido fill() del sqldata adapter

te debería funcionar así. Te lo agrega 2 veces, porque invocas el método 2
veces, primero con el commandtext y luego al insertar los parámetros.

P.D. mándame una respuesta si es que sirvió mi ayuda o no. Saludos.

Abelardo Barberena Gil.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida