Data Source

06/07/2006 - 05:47 por Javier | Informe spam
Estimados Amigos, espero puedan ayudarme

Estoy iniciandome en la programacion y en ADO.NET y tengo las siguientes
dudas:

Quiero saber como pueda cambiar la parte del DATA SOURCE en mi cadena de
conexion, para que no dependa de una direccion fija en la maquina, en el caso
que les mando el ejemplo Data Source=D:\Empleados1.mdb.
En el visual 6 recuerdo que ponia por ejemplo APP.PATH & \base.mdb, y
funcionaba solo si mi base estaba en el mismo lugar que el EXE.
Como puedo hacer esto ahora? en que lugar de mi proyecto debe residir el
archivo MDB?, para que si cambio de directorio todo el proyecto no deba
cambiar siempre la ruta
Muchas Gracias
Lo otro que noto es que demora mucho la consultaralgun comentario del
codigo para agilizarlo???


Private Sub botonCalcular_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles botonCalcular.Click

Dim oConexion As OleDbConnection
Dim oComando As OleDbCommand
Dim cadenaconexion As String
Try
cadenaconexion = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D:\Empleados1.mdb"
oConexion = New OleDbConnection(cadenaConexion)
oConexion.Open()
oComando = New OleDbCommand
oComando.Connection = oConexion
oComando.CommandText = "SELECT COUNT(Id_Empleado) FROM Empleados "
Label1.Text = "Cantidad de Empleados: " & oComando.ExecuteScalar
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
oConexion.Close()
End Try

End Sub

Preguntas similare

Leer las respuestas

#1 SoftJaén
06/07/2006 - 17:10 | Informe spam
"Javier" preguntó:

Quiero saber como pueda cambiar la parte del DATA SOURCE en mi cadena de
conexion, para que no dependa de una direccion fija en la maquina, ...



Hola, Javier:

Si la base de datos se encuentra alojada en la misma carpeta que el archivo
ejecutable, no hace falta que indiques la ruta de la base de datos; con solo
especificar el nombre del archivo, es más que suficiente:

Data Source = Empleados1.mdb

No obstante, si deseas conocer la ruta completa de la carpeta donde se
encuentra el archivo ejecutable, simplemente deberás de consultar el valor
de la propiedad «StartupPath» del objeto Application:

cadenaconexion = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Application.StartupPath & "\Empleados1.mdb"

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#2 Robinson.Moscoso
06/07/2006 - 17:30 | Informe spam
Que mas Javier

Yo pongo la cadena de coneccion en el archivo de app.config, (esta cadena se
crea automaticamente cuando se crea un dataset por el asistente), y despues
cuando mi aplicacion esta compilada puedo cambiar la inforamacion de este
archivo (miaplicacion.config) para direccionar donde quiera mi base de datos.
las lineas en el archivo de configuracion quedan asi (fijese el nodo de
<connectionStrings>que es dode se configura la coneccion) :

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="encriptar.My.MySettings.miaplicacionConnectionString"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=|DataDirectory|\empresas.mdb"
providerName="System.Data.OleDb" />
</connectionStrings>
<system.diagnostics>
<sources>
<!-- This section defines the logging configuration for
My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Uncomment the below section to write to the
Application Event Log -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener,
Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral,
PublicKeyToken°3f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData="FileLogWriter"/>
<!-- Uncomment the below section and replace APPLICATION_NAME
with the name of your application to write to the Application Event Log -->
<!--<add name="EventLog"
type="System.Diagnostics.EventLogTraceListener"
initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
</configuration>


para usar ese archivo en mi aplicacion lo hago haciento un llamado desde el
namespace my asi:

Dim cadenaconexion As String =
My.Settings.miaplicacionConnectionString.ToString


Espero le funcion, cualquier cosa me cuenta

Un saludo

Róbinson Moscoso


"Javier" wrote:

Estimados Amigos, espero puedan ayudarme

Estoy iniciandome en la programacion y en ADO.NET y tengo las siguientes
dudas:

Quiero saber como pueda cambiar la parte del DATA SOURCE en mi cadena de
conexion, para que no dependa de una direccion fija en la maquina, en el caso
que les mando el ejemplo Data Source=D:\Empleados1.mdb.
En el visual 6 recuerdo que ponia por ejemplo APP.PATH & \base.mdb, y
funcionaba solo si mi base estaba en el mismo lugar que el EXE.
Como puedo hacer esto ahora? en que lugar de mi proyecto debe residir el
archivo MDB?, para que si cambio de directorio todo el proyecto no deba
cambiar siempre la ruta
Muchas Gracias
Lo otro que noto es que demora mucho la consultaralgun comentario del
codigo para agilizarlo???


Private Sub botonCalcular_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles botonCalcular.Click

Dim oConexion As OleDbConnection
Dim oComando As OleDbCommand
Dim cadenaconexion As String
Try
cadenaconexion = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D:\Empleados1.mdb"
oConexion = New OleDbConnection(cadenaConexion)
oConexion.Open()
oComando = New OleDbCommand
oComando.Connection = oConexion
oComando.CommandText = "SELECT COUNT(Id_Empleado) FROM Empleados "
Label1.Text = "Cantidad de Empleados: " & oComando.ExecuteScalar
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
oConexion.Close()
End Try

End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida