INSERT

10/04/2006 - 20:09 por Dudoso | Informe spam
Cuando yo utilizo una función de sql de tipo INSERT, no me da nigún error y
sin embargo la base de datos no se actualiza, ¿Cómo podría solucionar esto?

Gracias de antemano

Preguntas similare

Leer las respuestas

#6 Dudoso
11/04/2006 - 16:06 | Informe spam
Por si acaso, utilizo la versión 2005 de Visual Studio
No utilizo executenonquery, escribo en la sentencia en el generador de
consultas del dataset y luego llamo a esa función con el tableadapter en el
programa
"Alberto Poblacion" wrote:

"Dudoso" wrote in message
news:
> Según lo que me has contestado tengo que revisar el programa, puesto que
> en
> el query analyzer me funciona el INSERT, pero el problema es que no se por
> donde empezar a revisarlo ni donde puede estar el error(No me salta
> ninguna
> excepción cuando utilizo INSERT desde el programa)

Pero, ¿Se llega a enviar o no se llega a enviar? ¿Has mirado con el Sql
Profiler a ver si el Insert llega al servidor? Y si le llega, ¿es igual que
el que escribiste en el programa o tiene alguna diferencia?
Y si no le llega, hay que revisar el envío. ¿Qué sentencia utilizas para
enviar el Inset, un ExecuteNonQuery()? ¿Has puesto un punto de ruptura en el
ExecuteNonQuery a ver si el programa pasa por él? ¿Qué valor te llega en el
rowsaffected (el resultado del ExecuteNonQuery)?




Respuesta Responder a este mensaje
#7 Alberto Poblacion
11/04/2006 - 17:10 | Informe spam
"Dudoso" wrote in message
news:
Por si acaso, utilizo la versión 2005 de Visual Studio
No utilizo executenonquery, escribo en la sentencia en el generador de
consultas del dataset y luego llamo a esa función con el tableadapter en
el
programa



Ah, pues entonces es algo más complicado. Si fuera código escrito por tí,
sabrías exactamente lo que hace y podrías seguirlo paso a paso a ver donde
falla, pero lo malo del código autogenerado es que cuando no funciona,
tienes que ponerte a descifrar cómo es por dentro. Intenta ejecutar con el
debugger paso a paso tu código desde que hace la llamada, entrando dentro
del código que el Visual Studio genera internamente en el tableadapter, a
ver si encuentras dónde se interrumpe y por qué no llama al Insert.
Respuesta Responder a este mensaje
#8 Eduardo A. Morcillo [MS MVP VB]
11/04/2006 - 17:28 | Informe spam
Me parece que tu problema es el clasico problema de que al compilar se copia
el archivo de la base de datos a la carpeta bin y es sobre ese archivo que
trabaja la aplicacion. Entonces cada vez que ejecutas desde el VS se
reemplaza la BD por la original y entonces parece que la aplicacion no
guarda la data en la BD.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#9 Alberto Poblacion
12/04/2006 - 10:31 | Informe spam
"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> wrote in message
news:%
Me parece que tu problema es el clasico problema de que al compilar se
copia el archivo de la base de datos a la carpeta bin y es sobre ese
archivo que trabaja la aplicacion. Entonces cada vez que ejecutas desde el
VS se reemplaza la BD por la original y entonces parece que la aplicacion
no guarda la data en la BD.



Este error se detectaría con el método que sugerí inicialmente de usar
el Profiler para comprobar que la sentencia está efectivamente llegando al
servidor. Al usar una instancia de usuario, si se hace la traza sobre la
instancia predeterminada se da uno cuenta de que ninguna de las sentencias
que está enviando el programa llegan a la base de datos que creías que
estabas usando. Pero "Dudoso" en ningún momento contestó que la traza no le
saliese. Si nos hubiera dicho que no podía usar la traza por estar usando
Sql Express con una instancia de usuario, habría sido bastante más rápido
imaginarse lo de la copia del mdf. Lo digo, no como crítica a "Dudoso", sino
con carácter general para quienes plantean una consulta, ya que si en lugar
de decir simplemente "hago tal cosa y no me funciona", dan más detalles
acerca de cómo y bajo qué circunstancia lo hacen, es bastante más fácil
encontrar la solución.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida