Pufff, que lioooo
Yo usaría mejor un sqlCommand rellenandolo con una consulta del tipo DELETE o UPDATE, para hacerlo.
Así seguro que no te fallará.
Te pego un trozo de código de ejemplo sobre cómo hacer inserciones con un sqlCommand:
Suponemos que el objeto cn (SqlConnection) está establecido correctamente.
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();
Nota: Se estaba usando una base de datos SQL Server. Si utilizaramos MySQL Server usaríamos el carácter ? para denotar los parámetros, en lugar de la @.
El código va escrito en
C#. Seguro que lo entenderás bien. Si no es así, avisame.