No me funciona el Update para grabar un registro!

10/01/2006 - 05:44 por byrpa | Informe spam
Como ya les he contado estoy siguiendo paso a paso, el turorial de MSDN
Video, del cual he aprendido mucho, pero intente hacer una mi pequeña
aplicacion y resulta que cuando le doy el update, me graba todo bien, pero
temporalmente o sea en el dataset de la base (en el grid si aparecen), no a
la base en si, ya que cuando reviso dicha tabla atravez del VS no aparecen
los registros, los pasos que segui son exactamente los mismos del video,
estoy usando xp sp2, con visual basic 2005, la version final y sql express
2005 tambien la version final, la base de datos es un archivo que esta en el
proyecto tal como se dijo en el tutorial y los textbox solo los arrastre de
los dataset que habia creado previamente, hay algo que me falta?

Por aca esta el codigo:
Public Class regionesnuevo
Private Sub regionesnuevo_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.RegionesBindingSource.AddNew()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Me.Validate()
Me.RegionesBindingSource.EndEdit()
Me.RegionesTableAdapter.Update(Me.RegionesDS.regiones)
Me.Close()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
End Class

Gracias por sus respuestas

Preguntas similare

Leer las respuestas

#6 byrpa
12/01/2006 - 01:42 | Informe spam
O sea que la forma en la que estoy programando, con los asistentes
(arrastrar y pegar los campos de las tablas), etc, no me funciona si el
programa lo quiero en red, tendria que hacerlo todo con codigo? y aun asi no
funciona el visual basic express multiusuario?



"Jesús López" escribió en el mensaje
news:
Para que tu aplicación funcione en red tienes que hacer lo siguiente:

(1) Instalar SQL Server 2005, edición Express o superior en un servidor de
la red.
(2) Habilitar el acceso remoto a SQL Server
(3) Copiar el archivo de base de datos mdf que tienes en tu proyecto en el
servidor de la red
(5) Anexar la base de datos mdf en el servidor.
(5) Conceder los permisos necesarios a los usuarios para que se conecten a
la base de datos y puedan realizar las tareas que necesitan hacer
(6) cambiar la cadena de conexión que aparece en el App.config para que
haga
referencia al servidor de la red y a la base de datos en cuestión.

Estos pasos deberías hacerlos antes de poner en producción la aplicación.
Mientras estás en la fase de desarrollo no hace falta y además puede darte
problemas si usas la edición express de VS, ya que los diseñadores de la
versión express no funcionan con bases de datos remotas.


Saludos:

Jesús López
MVP VB
Solid Quality Learning
www.solidqualitylearning.com



"byrpa" wrote:

Fijate que es como tu lo dices, pero estuve haciendo algunas pruebas y en
la
opcion que mencionas de la propiedad de la base "Copy to Output
Directory=Copy if newer" me crea una copia de la base hacia el directorio
"D:\proyectos\inventario\bin\debug\smom.mdf" o sea que me pone una base
nueva y el programa trabaja con esa base aunque este especificado en la
propiedades que la base esta en "d:\proyectos\inventario" no la usa, por
lo
tanto si me conecto con vb2005 siempre me aparecen los mismos registros
que
antes porque es una base vieja, la actualizada esta en el directorio
mencionado, copiando todo el directorio
"D:\proyectos\inventario\bin\debug",
hacia "c:\inventario", trabaja perfecto el exe con su base en el mismo
directorio, ahora bien alguien sabe como trabajar esto en red, hay que
hacer
"conectar unidad de red", o como seria en este caso?


"JunXCosio" escribió en el mensaje
news:
> muy bien el problema no lo tienes en el codigo lo tienes en la base de
> datos,
> seleciona el fichero de base de datos en el "Solution Explorer" ejemplo
> el
> "database1.mdf".
>
> Y en propiedades veras una que dice "Copy to Output Directory" y te
> pondra
> por defecto "Copy always". Pues esa opcion pon la a "Copy if newer" no
> me
> preguntes porque cojones funciona de una manera y de la otra no pero el
> caso
> es asi ...
>
> Un saludo
>
> "byrpa" escribió:
>
>> Como ya les he contado estoy siguiendo paso a paso, el turorial de
>> MSDN
>> Video, del cual he aprendido mucho, pero intente hacer una mi pequeña
>> aplicacion y resulta que cuando le doy el update, me graba todo bien,
>> pero
>> temporalmente o sea en el dataset de la base (en el grid si aparecen),
>> no
>> a
>> la base en si, ya que cuando reviso dicha tabla atravez del VS no
>> aparecen
>> los registros, los pasos que segui son exactamente los mismos del
>> video,
>> estoy usando xp sp2, con visual basic 2005, la version final y sql
>> express
>> 2005 tambien la version final, la base de datos es un archivo que esta
>> en
>> el
>> proyecto tal como se dijo en el tutorial y los textbox solo los
>> arrastre
>> de
>> los dataset que habia creado previamente, hay algo que me falta?
>>
>> Por aca esta el codigo:
>> Public Class regionesnuevo
>> Private Sub regionesnuevo_Load(ByVal sender As System.Object,
>> ByVal e
>> As
>> System.EventArgs) Handles MyBase.Load
>> Me.RegionesBindingSource.AddNew()
>> End Sub
>>
>> Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
>> As
>> System.EventArgs) Handles Button1.Click
>> Me.Validate()
>> Me.RegionesBindingSource.EndEdit()
>> Me.RegionesTableAdapter.Update(Me.RegionesDS.regiones)
>> Me.Close()
>> End Sub
>>
>> Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
>> As
>> System.EventArgs) Handles Button2.Click
>> Me.Close()
>> End Sub
>> End Class
>>
>> Gracias por sus respuestas
>>
>>
>>



Respuesta Responder a este mensaje
#7 byrpa
12/01/2006 - 01:42 | Informe spam
O sea que la forma en la que estoy programando, con los asistentes
(arrastrar y pegar los campos de las tablas), etc, no me funciona si el
programa lo quiero en red, tendria que hacerlo todo con codigo? y aun asi no
funciona el visual basic express multiusuario?



"Jesús López" escribió en el mensaje
news:
Para que tu aplicación funcione en red tienes que hacer lo siguiente:

(1) Instalar SQL Server 2005, edición Express o superior en un servidor de
la red.
(2) Habilitar el acceso remoto a SQL Server
(3) Copiar el archivo de base de datos mdf que tienes en tu proyecto en el
servidor de la red
(5) Anexar la base de datos mdf en el servidor.
(5) Conceder los permisos necesarios a los usuarios para que se conecten a
la base de datos y puedan realizar las tareas que necesitan hacer
(6) cambiar la cadena de conexión que aparece en el App.config para que
haga
referencia al servidor de la red y a la base de datos en cuestión.

Estos pasos deberías hacerlos antes de poner en producción la aplicación.
Mientras estás en la fase de desarrollo no hace falta y además puede darte
problemas si usas la edición express de VS, ya que los diseñadores de la
versión express no funcionan con bases de datos remotas.


Saludos:

Jesús López
MVP VB
Solid Quality Learning
www.solidqualitylearning.com



"byrpa" wrote:

Fijate que es como tu lo dices, pero estuve haciendo algunas pruebas y en
la
opcion que mencionas de la propiedad de la base "Copy to Output
Directory=Copy if newer" me crea una copia de la base hacia el directorio
"D:\proyectos\inventario\bin\debug\smom.mdf" o sea que me pone una base
nueva y el programa trabaja con esa base aunque este especificado en la
propiedades que la base esta en "d:\proyectos\inventario" no la usa, por
lo
tanto si me conecto con vb2005 siempre me aparecen los mismos registros
que
antes porque es una base vieja, la actualizada esta en el directorio
mencionado, copiando todo el directorio
"D:\proyectos\inventario\bin\debug",
hacia "c:\inventario", trabaja perfecto el exe con su base en el mismo
directorio, ahora bien alguien sabe como trabajar esto en red, hay que
hacer
"conectar unidad de red", o como seria en este caso?


"JunXCosio" escribió en el mensaje
news:
> muy bien el problema no lo tienes en el codigo lo tienes en la base de
> datos,
> seleciona el fichero de base de datos en el "Solution Explorer" ejemplo
> el
> "database1.mdf".
>
> Y en propiedades veras una que dice "Copy to Output Directory" y te
> pondra
> por defecto "Copy always". Pues esa opcion pon la a "Copy if newer" no
> me
> preguntes porque cojones funciona de una manera y de la otra no pero el
> caso
> es asi ...
>
> Un saludo
>
> "byrpa" escribió:
>
>> Como ya les he contado estoy siguiendo paso a paso, el turorial de
>> MSDN
>> Video, del cual he aprendido mucho, pero intente hacer una mi pequeña
>> aplicacion y resulta que cuando le doy el update, me graba todo bien,
>> pero
>> temporalmente o sea en el dataset de la base (en el grid si aparecen),
>> no
>> a
>> la base en si, ya que cuando reviso dicha tabla atravez del VS no
>> aparecen
>> los registros, los pasos que segui son exactamente los mismos del
>> video,
>> estoy usando xp sp2, con visual basic 2005, la version final y sql
>> express
>> 2005 tambien la version final, la base de datos es un archivo que esta
>> en
>> el
>> proyecto tal como se dijo en el tutorial y los textbox solo los
>> arrastre
>> de
>> los dataset que habia creado previamente, hay algo que me falta?
>>
>> Por aca esta el codigo:
>> Public Class regionesnuevo
>> Private Sub regionesnuevo_Load(ByVal sender As System.Object,
>> ByVal e
>> As
>> System.EventArgs) Handles MyBase.Load
>> Me.RegionesBindingSource.AddNew()
>> End Sub
>>
>> Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
>> As
>> System.EventArgs) Handles Button1.Click
>> Me.Validate()
>> Me.RegionesBindingSource.EndEdit()
>> Me.RegionesTableAdapter.Update(Me.RegionesDS.regiones)
>> Me.Close()
>> End Sub
>>
>> Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
>> As
>> System.EventArgs) Handles Button2.Click
>> Me.Close()
>> End Sub
>> End Class
>>
>> Gracias por sus respuestas
>>
>>
>>



Respuesta Responder a este mensaje
#8 Jesús López
12/01/2006 - 12:03 | Informe spam
Sí que funciona en multiusuario, sólo tienes que desarrollar en local y
cuando vayas a poner en producción tu aplicación realiza los pasos que te he
dicho.

En realidad, para poner a funcionar tu aplicación en multiusuario lo único
que hay que cambiar en tu aplicación es la cadena de conexión en el
App.config. Otra cuestión es la base de datos que la tendrás que desplegar
en un servidor.

A ver si me explico bien:

Los diseñadores no funcionan en VS express con bases de datos remotas, esto
significa que tienes que desarrollar con una base de datos local si quieres
sacar rendimiento a los diseñadores.

El ejecutable obtenido después de compilar tu proyecto que en principio
usaba una base de datos local funciona perfectamente con la base de datos en
remoto simplemente cambiando la cadena de conexión que está en el
App.config. Bueno en realidad una vez compilada la aplicación el App.config
se habrá copiado al directorio BIN de salida del proyecto y se llamará
MiApplication.exe.config. En ejecución el archivo que importa es
MiApplicación.exe.config.


Saludos:

Jesús López
MVP

"byrpa" escribió en el mensaje
news:
O sea que la forma en la que estoy programando, con los asistentes
(arrastrar y pegar los campos de las tablas), etc, no me funciona si el
programa lo quiero en red, tendria que hacerlo todo con codigo? y aun asi
no funciona el visual basic express multiusuario?



"Jesús López" escribió en el mensaje
news:
Para que tu aplicación funcione en red tienes que hacer lo siguiente:

(1) Instalar SQL Server 2005, edición Express o superior en un servidor
de
la red.
(2) Habilitar el acceso remoto a SQL Server
(3) Copiar el archivo de base de datos mdf que tienes en tu proyecto en
el
servidor de la red
(5) Anexar la base de datos mdf en el servidor.
(5) Conceder los permisos necesarios a los usuarios para que se conecten
a
la base de datos y puedan realizar las tareas que necesitan hacer
(6) cambiar la cadena de conexión que aparece en el App.config para que
haga
referencia al servidor de la red y a la base de datos en cuestión.

Estos pasos deberías hacerlos antes de poner en producción la aplicación.
Mientras estás en la fase de desarrollo no hace falta y además puede
darte
problemas si usas la edición express de VS, ya que los diseñadores de la
versión express no funcionan con bases de datos remotas.


Saludos:

Jesús López
MVP VB
Solid Quality Learning
www.solidqualitylearning.com



"byrpa" wrote:

Fijate que es como tu lo dices, pero estuve haciendo algunas pruebas y
en la
opcion que mencionas de la propiedad de la base "Copy to Output
Directory=Copy if newer" me crea una copia de la base hacia el
directorio
"D:\proyectos\inventario\bin\debug\smom.mdf" o sea que me pone una base
nueva y el programa trabaja con esa base aunque este especificado en la
propiedades que la base esta en "d:\proyectos\inventario" no la usa, por
lo
tanto si me conecto con vb2005 siempre me aparecen los mismos registros
que
antes porque es una base vieja, la actualizada esta en el directorio
mencionado, copiando todo el directorio
"D:\proyectos\inventario\bin\debug",
hacia "c:\inventario", trabaja perfecto el exe con su base en el mismo
directorio, ahora bien alguien sabe como trabajar esto en red, hay que
hacer
"conectar unidad de red", o como seria en este caso?


"JunXCosio" escribió en el mensaje
news:
> muy bien el problema no lo tienes en el codigo lo tienes en la base de
> datos,
> seleciona el fichero de base de datos en el "Solution Explorer"
> ejemplo el
> "database1.mdf".
>
> Y en propiedades veras una que dice "Copy to Output Directory" y te
> pondra
> por defecto "Copy always". Pues esa opcion pon la a "Copy if newer" no
> me
> preguntes porque cojones funciona de una manera y de la otra no pero
> el
> caso
> es asi ...
>
> Un saludo
>
> "byrpa" escribió:
>
>> Como ya les he contado estoy siguiendo paso a paso, el turorial de
>> MSDN
>> Video, del cual he aprendido mucho, pero intente hacer una mi pequeña
>> aplicacion y resulta que cuando le doy el update, me graba todo bien,
>> pero
>> temporalmente o sea en el dataset de la base (en el grid si
>> aparecen), no
>> a
>> la base en si, ya que cuando reviso dicha tabla atravez del VS no
>> aparecen
>> los registros, los pasos que segui son exactamente los mismos del
>> video,
>> estoy usando xp sp2, con visual basic 2005, la version final y sql
>> express
>> 2005 tambien la version final, la base de datos es un archivo que
>> esta en
>> el
>> proyecto tal como se dijo en el tutorial y los textbox solo los
>> arrastre
>> de
>> los dataset que habia creado previamente, hay algo que me falta?
>>
>> Por aca esta el codigo:
>> Public Class regionesnuevo
>> Private Sub regionesnuevo_Load(ByVal sender As System.Object,
>> ByVal e
>> As
>> System.EventArgs) Handles MyBase.Load
>> Me.RegionesBindingSource.AddNew()
>> End Sub
>>
>> Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
>> As
>> System.EventArgs) Handles Button1.Click
>> Me.Validate()
>> Me.RegionesBindingSource.EndEdit()
>> Me.RegionesTableAdapter.Update(Me.RegionesDS.regiones)
>> Me.Close()
>> End Sub
>>
>> Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
>> As
>> System.EventArgs) Handles Button2.Click
>> Me.Close()
>> End Sub
>> End Class
>>
>> Gracias por sus respuestas
>>
>>
>>









Respuesta Responder a este mensaje
#9 byrpa
13/01/2006 - 04:41 | Informe spam
Gracias Jesus por la ayuda, pero una ultima y te dejo en paz, por lo menos
en este dia, encontre el archivo que me comentaste y ademas encontre la
siguiente cadena, que creo es la que se cambia:
<add name="SMOM.My.MySettings.smomConnectionString" connectionString="Data
Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\smom.mdf;Integrated
Security=True;User Instance=True"

providerName="System.Data.SqlClient" />

en donde .\sqlexpress quedaria como server\sqlexpress, en attachdbfilename
no se que se pondra y lo demas igual, creo?
si pudieras ampliarme la informacion te lo agradeceria enormemente, muchas
gracias



"Jesús López" escribió en el mensaje
news:
Sí que funciona en multiusuario, sólo tienes que desarrollar en local y
cuando vayas a poner en producción tu aplicación realiza los pasos que te
he dicho.

En realidad, para poner a funcionar tu aplicación en multiusuario lo único
que hay que cambiar en tu aplicación es la cadena de conexión en el
App.config. Otra cuestión es la base de datos que la tendrás que desplegar
en un servidor.

A ver si me explico bien:

Los diseñadores no funcionan en VS express con bases de datos remotas,
esto significa que tienes que desarrollar con una base de datos local si
quieres sacar rendimiento a los diseñadores.

El ejecutable obtenido después de compilar tu proyecto que en principio
usaba una base de datos local funciona perfectamente con la base de datos
en remoto simplemente cambiando la cadena de conexión que está en el
App.config. Bueno en realidad una vez compilada la aplicación el
App.config se habrá copiado al directorio BIN de salida del proyecto y se
llamará MiApplication.exe.config. En ejecución el archivo que importa es
MiApplicación.exe.config.


Saludos:

Jesús López
MVP

"byrpa" escribió en el mensaje
news:
O sea que la forma en la que estoy programando, con los asistentes
(arrastrar y pegar los campos de las tablas), etc, no me funciona si el
programa lo quiero en red, tendria que hacerlo todo con codigo? y aun asi
no funciona el visual basic express multiusuario?



"Jesús López" escribió en el mensaje
news:
Para que tu aplicación funcione en red tienes que hacer lo siguiente:

(1) Instalar SQL Server 2005, edición Express o superior en un servidor
de
la red.
(2) Habilitar el acceso remoto a SQL Server
(3) Copiar el archivo de base de datos mdf que tienes en tu proyecto en
el
servidor de la red
(5) Anexar la base de datos mdf en el servidor.
(5) Conceder los permisos necesarios a los usuarios para que se conecten
a
la base de datos y puedan realizar las tareas que necesitan hacer
(6) cambiar la cadena de conexión que aparece en el App.config para que
haga
referencia al servidor de la red y a la base de datos en cuestión.

Estos pasos deberías hacerlos antes de poner en producción la
aplicación.
Mientras estás en la fase de desarrollo no hace falta y además puede
darte
problemas si usas la edición express de VS, ya que los diseñadores de la
versión express no funcionan con bases de datos remotas.


Saludos:

Jesús López
MVP VB
Solid Quality Learning
www.solidqualitylearning.com



"byrpa" wrote:

Fijate que es como tu lo dices, pero estuve haciendo algunas pruebas y
en la
opcion que mencionas de la propiedad de la base "Copy to Output
Directory=Copy if newer" me crea una copia de la base hacia el
directorio
"D:\proyectos\inventario\bin\debug\smom.mdf" o sea que me pone una base
nueva y el programa trabaja con esa base aunque este especificado en la
propiedades que la base esta en "d:\proyectos\inventario" no la usa,
por lo
tanto si me conecto con vb2005 siempre me aparecen los mismos registros
que
antes porque es una base vieja, la actualizada esta en el directorio
mencionado, copiando todo el directorio
"D:\proyectos\inventario\bin\debug",
hacia "c:\inventario", trabaja perfecto el exe con su base en el mismo
directorio, ahora bien alguien sabe como trabajar esto en red, hay que
hacer
"conectar unidad de red", o como seria en este caso?


"JunXCosio" escribió en el
mensaje
news:
> muy bien el problema no lo tienes en el codigo lo tienes en la base
> de
> datos,
> seleciona el fichero de base de datos en el "Solution Explorer"
> ejemplo el
> "database1.mdf".
>
> Y en propiedades veras una que dice "Copy to Output Directory" y te
> pondra
> por defecto "Copy always". Pues esa opcion pon la a "Copy if newer"
> no me
> preguntes porque cojones funciona de una manera y de la otra no pero
> el
> caso
> es asi ...
>
> Un saludo
>
> "byrpa" escribió:
>
>> Como ya les he contado estoy siguiendo paso a paso, el turorial de
>> MSDN
>> Video, del cual he aprendido mucho, pero intente hacer una mi
>> pequeña
>> aplicacion y resulta que cuando le doy el update, me graba todo
>> bien,
>> pero
>> temporalmente o sea en el dataset de la base (en el grid si
>> aparecen), no
>> a
>> la base en si, ya que cuando reviso dicha tabla atravez del VS no
>> aparecen
>> los registros, los pasos que segui son exactamente los mismos del
>> video,
>> estoy usando xp sp2, con visual basic 2005, la version final y sql
>> express
>> 2005 tambien la version final, la base de datos es un archivo que
>> esta en
>> el
>> proyecto tal como se dijo en el tutorial y los textbox solo los
>> arrastre
>> de
>> los dataset que habia creado previamente, hay algo que me falta?
>>
>> Por aca esta el codigo:
>> Public Class regionesnuevo
>> Private Sub regionesnuevo_Load(ByVal sender As System.Object,
>> ByVal e
>> As
>> System.EventArgs) Handles MyBase.Load
>> Me.RegionesBindingSource.AddNew()
>> End Sub
>>
>> Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
>> As
>> System.EventArgs) Handles Button1.Click
>> Me.Validate()
>> Me.RegionesBindingSource.EndEdit()
>> Me.RegionesTableAdapter.Update(Me.RegionesDS.regiones)
>> Me.Close()
>> End Sub
>>
>> Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
>> As
>> System.EventArgs) Handles Button2.Click
>> Me.Close()
>> End Sub
>> End Class
>>
>> Gracias por sus respuestas
>>
>>
>>













Respuesta Responder a este mensaje
#10 Jesús López
14/01/2006 - 10:18 | Informe spam
Sí, seguramente .\sqlexpress quedaría como server\sqlexpress, pero eso
depende de como se instale SQL Server 2005 en el servidor. "sqlexpress" es
el nombre de la instancia. Cuando instalas SQL Server 2005 express, el
nombre predeterminado de la instancia es "sqlexpress", pero puede cambiarse
en proceso de instación sin nigún problema. También podría instalarse como
instancia predeterminada. En definitiva, quedaría: "serverombreInstancia"
o simplemente "server" si se instala como instancia predeterminada.

Efectivamente hay que quitar AttchDbFilename en la cadena de conexión,
puesto que la base de datos está de forma permanente en el servidor. Se
supone que la base de datos ya está en el servidor, lo hiciste el el paso
(5).

Por último, hay que quitar "User Instance=True". Las instancias de usuario
sólo funcionana en local y para SQL Server Express.

Saludos:

Jesús López
MVP VB

"byrpa" escribió en el mensaje
news:
Gracias Jesus por la ayuda, pero una ultima y te dejo en paz, por lo menos
en este dia, encontre el archivo que me comentaste y ademas encontre la
siguiente cadena, que creo es la que se cambia:
<add name="SMOM.My.MySettings.smomConnectionString" connectionString="Data
Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\smom.mdf;Integrated
Security=True;User Instance=True"

providerName="System.Data.SqlClient" />

en donde .\sqlexpress quedaria como server\sqlexpress, en attachdbfilename
no se que se pondra y lo demas igual, creo?
si pudieras ampliarme la informacion te lo agradeceria enormemente, muchas
gracias



"Jesús López" escribió en el mensaje
news:
Sí que funciona en multiusuario, sólo tienes que desarrollar en local y
cuando vayas a poner en producción tu aplicación realiza los pasos que te
he dicho.

En realidad, para poner a funcionar tu aplicación en multiusuario lo
único que hay que cambiar en tu aplicación es la cadena de conexión en
el App.config. Otra cuestión es la base de datos que la tendrás que
desplegar en un servidor.

A ver si me explico bien:

Los diseñadores no funcionan en VS express con bases de datos remotas,
esto significa que tienes que desarrollar con una base de datos local si
quieres sacar rendimiento a los diseñadores.

El ejecutable obtenido después de compilar tu proyecto que en principio
usaba una base de datos local funciona perfectamente con la base de datos
en remoto simplemente cambiando la cadena de conexión que está en el
App.config. Bueno en realidad una vez compilada la aplicación el
App.config se habrá copiado al directorio BIN de salida del proyecto y se
llamará MiApplication.exe.config. En ejecución el archivo que importa es
MiApplicación.exe.config.


Saludos:

Jesús López
MVP

"byrpa" escribió en el mensaje
news:
O sea que la forma en la que estoy programando, con los asistentes
(arrastrar y pegar los campos de las tablas), etc, no me funciona si el
programa lo quiero en red, tendria que hacerlo todo con codigo? y aun asi
no funciona el visual basic express multiusuario?



"Jesús López" escribió en el mensaje
news:
Para que tu aplicación funcione en red tienes que hacer lo siguiente:

(1) Instalar SQL Server 2005, edición Express o superior en un servidor
de
la red.
(2) Habilitar el acceso remoto a SQL Server
(3) Copiar el archivo de base de datos mdf que tienes en tu proyecto en
el
servidor de la red
(5) Anexar la base de datos mdf en el servidor.
(5) Conceder los permisos necesarios a los usuarios para que se
conecten a
la base de datos y puedan realizar las tareas que necesitan hacer
(6) cambiar la cadena de conexión que aparece en el App.config para que
haga
referencia al servidor de la red y a la base de datos en cuestión.

Estos pasos deberías hacerlos antes de poner en producción la
aplicación.
Mientras estás en la fase de desarrollo no hace falta y además puede
darte
problemas si usas la edición express de VS, ya que los diseñadores de
la
versión express no funcionan con bases de datos remotas.


Saludos:

Jesús López
MVP VB
Solid Quality Learning
www.solidqualitylearning.com



"byrpa" wrote:

Fijate que es como tu lo dices, pero estuve haciendo algunas pruebas y
en la
opcion que mencionas de la propiedad de la base "Copy to Output
Directory=Copy if newer" me crea una copia de la base hacia el
directorio
"D:\proyectos\inventario\bin\debug\smom.mdf" o sea que me pone una
base
nueva y el programa trabaja con esa base aunque este especificado en
la
propiedades que la base esta en "d:\proyectos\inventario" no la usa,
por lo
tanto si me conecto con vb2005 siempre me aparecen los mismos
registros que
antes porque es una base vieja, la actualizada esta en el directorio
mencionado, copiando todo el directorio
"D:\proyectos\inventario\bin\debug",
hacia "c:\inventario", trabaja perfecto el exe con su base en el mismo
directorio, ahora bien alguien sabe como trabajar esto en red, hay que
hacer
"conectar unidad de red", o como seria en este caso?


"JunXCosio" escribió en el
mensaje
news:
> muy bien el problema no lo tienes en el codigo lo tienes en la base
> de
> datos,
> seleciona el fichero de base de datos en el "Solution Explorer"
> ejemplo el
> "database1.mdf".
>
> Y en propiedades veras una que dice "Copy to Output Directory" y te
> pondra
> por defecto "Copy always". Pues esa opcion pon la a "Copy if newer"
> no me
> preguntes porque cojones funciona de una manera y de la otra no pero
> el
> caso
> es asi ...
>
> Un saludo
>
> "byrpa" escribió:
>
>> Como ya les he contado estoy siguiendo paso a paso, el turorial de
>> MSDN
>> Video, del cual he aprendido mucho, pero intente hacer una mi
>> pequeña
>> aplicacion y resulta que cuando le doy el update, me graba todo
>> bien,
>> pero
>> temporalmente o sea en el dataset de la base (en el grid si
>> aparecen), no
>> a
>> la base en si, ya que cuando reviso dicha tabla atravez del VS no
>> aparecen
>> los registros, los pasos que segui son exactamente los mismos del
>> video,
>> estoy usando xp sp2, con visual basic 2005, la version final y sql
>> express
>> 2005 tambien la version final, la base de datos es un archivo que
>> esta en
>> el
>> proyecto tal como se dijo en el tutorial y los textbox solo los
>> arrastre
>> de
>> los dataset que habia creado previamente, hay algo que me falta?
>>
>> Por aca esta el codigo:
>> Public Class regionesnuevo
>> Private Sub regionesnuevo_Load(ByVal sender As System.Object,
>> ByVal e
>> As
>> System.EventArgs) Handles MyBase.Load
>> Me.RegionesBindingSource.AddNew()
>> End Sub
>>
>> Private Sub Button1_Click(ByVal sender As System.Object, ByVal
>> e As
>> System.EventArgs) Handles Button1.Click
>> Me.Validate()
>> Me.RegionesBindingSource.EndEdit()
>> Me.RegionesTableAdapter.Update(Me.RegionesDS.regiones)
>> Me.Close()
>> End Sub
>>
>> Private Sub Button2_Click(ByVal sender As System.Object, ByVal
>> e As
>> System.EventArgs) Handles Button2.Click
>> Me.Close()
>> End Sub
>> End Class
>>
>> Gracias por sus respuestas
>>
>>
>>

















Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida