Visual Basic.NET - Ayuda con VB.Net y SQL

 
Vista:

Ayuda con VB.Net y SQL

Publicado por jexux vm (1 intervención) el 08/05/2011 20:34:35
Buenas compañeros del corral tengo un problema con una aplicacion que estoy haciendo.
yo utilizo dos equipos de computo en mi trabajo pero en los dos equipos instale
sql express 2008 r2
visual studio 2008 sp1
tengo 2 preoblemas con VB les cuento el primero
1.-normalmente programo todo en la pc de escritorio pero en el fin de semana quise aventajar en mi casa y me lleve todo el proyecto en una usb, lo abri y todo andaba a la perfeccion pero cuando lo compile para revisar algunas modificacion que habia echo me tope con el sigiente problema.
codigo fuente y error

http://www.subirimagenes.com/otros-error-6372540.html
vista grafica.

http://www.subirimagenes.com/otros-6luerror11u6m-6372563.html


la verdad no ce por que me da ese error ya que es el mismo programa, ya le instale todas las actualizaciones pero no se que mas hacerle por que no, yo ya habia echo otro programa pero la base de datos estaba directamente en sql xpress y si lo compilaba en la laptop tenia que estar en la mismo red donde tengo el motor de sql pero no me daba problemas. cabe mencionar que en la pc donde normalmente trabajo no da ese error, y ese error me da en cualquier computadora que tenga intalado el visual studio 2008
en el evento mostrar que es donde marcar el error es done actualizo un datagridviwer que al guardar o eliminar o modificar cualquier objeto en la base de datos este se actualiza en ese momento y lo muestra, de lo contrario tendria que salirme y entrar nuevamente al programa para que se muestre el cambio,
pero da error no solo ahi sino en cualquier movimientoque quiera hacer en la db.(guardar eliminar actualizar etc.)

nota la base de datos la agrege directamente en visual studio

segundo problema
2.-en este proyecto yo queria crear el archivo de la base de datos de manera local ya que es programa se va a poner en un equipo sin red por lo tanto modifique la cadena de conexion para que esta fuera un poco mas versatil.
les muestro mi cadena de conexion, la primera apunta a la base de datos de manera fija,
la segunda apunta a la configuracion que se tiene en el archivo de app.config que segun yo hacer referencia a |DataDirectory|/Inventario1.mdf que se encuentra en el app.config en tonces el valor de data directory varia en donde se encuentre el programa (para compilarse) o donde se encuentre la base de datos.

1
Dim cs AsNew SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\JVAZQUEZM\Desktop\Proyecto hand\Proyecto Hand held\Proyecto Hand held\Inventario1.mdf;Integrated Security=True;User Instance=True")


1
Dim cs AsNew SqlConnection(My.Settings.Inventario1ConnectionString)


el problema se los explico acontinuacion.
con la segunda cadena de conexion me muestra lo que contiene la base de datos y me permite guardar borar y modificar registros de echo se reflejan en el datagridviwer pero al momento que me salgo del programa y vuelvo a entrar esta esta se queda como antes de que modificara o eliminara o agregara algun registro.
si uso la primera cadena con esta no tengo problemas agrega borra y modifica los registro sin problemas el problema es que apunta a un lugar especifico que al generar el instalador del programa segira apuntando a mi equipo y es loq ue no quiero ya que el equipo al que le instalare el programa este no se llama = al mio ni tienen mi usuario asi que no seria practico.
un conocido me dijo que pusiera la cadena de conexion de manera que apuntara al lugar que predeterminadamente pienso instalar el programa aunque no se me hizo una mala idea me topo aparte con el preoblema de arriba entonces no ce que hacer .
ya lei varios tutoriales pero no logro encontrar en donde esta mi problema. si pudieran ayudarme seria de gran ayuda.
les muestro la configuracion de el archivo app.conf.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?xmlversion="1.0"encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<addname="Proyecto_Hand_held.My.MySettings.Inventario1ConnectionString"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Inventario1.mdf;Integrated Security=True;User Instance=True;Context Connection=False"
providerName="System.Data.SqlClient" />
</connectionStrings>
 
<system.diagnostics>
<sources>
<!-- En esta seccin se define la configuracin del registro para My.Application.Log -->
<sourcename="DefaultSource"switchName="DefaultSwitch">
<listeners>
<addname="FileLog"/>
<!-- Quite los comentarios de la seccin posterior para escribir en el registro de eventos de la aplicacin -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<addname="DefaultSwitch"value="Information" />
</switches>
<sharedListeners>
<addname="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData="FileLogWriter"/>
<!-- Quite los comentarios de la seccin posterior y reemplace APPLICATION_NAME con el nombre de su aplicacin para escribir en el registro de sucesos de la aplicacin -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
</configuration>


me hacerco a uds ya que yo no soy un programador experimentado por lo tanto me surgen muchas dudas y aunque sangoole me ayudado me e quedado estancado..

saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Ayuda con VB.Net y SQL

Publicado por vazagho (13 intervenciones) el 16/05/2011 17:14:52
hola, en primer lugar tienes que fijarte bien en la ruta en las que estas mencioanndo tu conexion, en la priemra imagen que he visto esta en documment and settings, y en la cadena de conexion mas abjo esta en users.. ahi va un problema, si tus archivos mdf van a estar en la misma carpeta de tu proyecto entonces tienes que colocar bien la ruta, ahi mismo te lo menciona en las imagen que haz puesto, pero te recomiendo para que no te hagas muchas bolas manejarlo desde el mismo sql o si vas a ponerle ruta entonces en c:\database\bd.mdf

si vas a manejar el sql express en su misma version te recomiendo que le hagas un backup y luego la restarures en este caso en el equipo de tu casa, ya que si eligue el modo adjuntar te pueden surgir algunos problemas ya sea por la version u otros motivos.

aqui una cadena de conexion mas simple para tu app.config o webconfig

<connectionStrings>
<add name="cnDataBase" connectionString="Server = tuservidor; Initial Catalog = tubasededatos; Uid=sa; Password = tupassword"
providerName="System.Data.SqlClient" />
</connectionStrings>

esto lo uso desde que trabajo en aplicaciones distribuidas, ahora programando en 5 capas, espero que te sirva de ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar