Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: player en 19 de Octubre de 2009, 07:48:50 PM

Título: Pequeña ayuda con visual studio..
Publicado por: player en 19 de Octubre de 2009, 07:48:50 PM
Estoy intentando hacer una pequeña aplicación en VB conectada a una base de datos hecha en access, en todos los manuales que leo dicen que es muy "fácil".

Hay que abrir un proyecto en VB (supongo que será aplicación de windows forms, por ningún lado lo especifican) y luego hacer una conexión con dataenvironment, y para hacer la conexión hay que ir al menú proyecto -> agregar data environment.

Lo que pasa que yo entro al menú proyecto de visual studio 2008 y no veo lo de agregar data environment y no lo encuentro por ningún lado, no sé si tendrá otro nombre o se realizarán las conexiones de otra manera, pero estoy bastante perdido.

Alguna versión de visual studio anterior en la que sepáis que aparece directamente lo de agregar data environment o dónde se encuentra en visual studio 2008? O alguna otra solución que se os ocurra?

Gracias.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: [EX3] en 19 de Octubre de 2009, 08:29:33 PM
Nosotros en el trabajo conectamos con ADO.NET usando lo basico y en algunos casos usando Datasets & Cia. Ahora mismo no podria decirte por que ni tengo instalado el Visual Studio ni .NET en la maquina virtual (estoy en Mac) pero mañana mismo si no se me pasa te cuelgo un ejemplo basico de como conectar con una base datos ACCESS en ADO.NET con VB.NET. Aun asi, si buscas encontraras informacion para aburrir en la red (echa un ojo en www.canalvisualbasic.net o www.recursosvisualbasic.com.ar por ejemplo).

Salu2...
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 19 de Octubre de 2009, 08:43:33 PM
Gracias [EX3], me vendría muy bien lo del ejemplo básico. Los tutoriales que he encontrado sobre todo esto han sido en VB 6.0, más que nada porque a parte de la conexión con la base de datos también añadían un tutorial de cómo crear una pequeña aplicación que consiste en poder modificar, dar de alta, borrar, imprimir...etc desde ese menú, ya que mis conocimientos de programación (llevo pocos meses con C++) son muy reducidos, y de VB son nulos. Todo sería ponerme a investigar lo de la pequeña aplicación en VB.NET y seguir tu explicación de como conectar la base de datos con ADO.NET.

Gracias por los links, les voy a echar un vistazo.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Vicente en 19 de Octubre de 2009, 08:59:01 PM
Hola,

eso de dataenvironment suena a viejo de narices, además si estás con VB 6.0 el Visual 2008 como que no te vale de nada. Si sabes C++ yo te recomendaría que hagas la aplicación en C# porque la sintaxis se te va a hacer más parecida.

Respecto a como añadir una base de datos a un proyecto en VS 2008:

- Te haces un proyecto nuevo (de Consola o de Winforms, eso da igual).
- Te vas al Server Explorer (a la izquierda en el VS, si no lo buscas en la pestaña de View en Ctrl + W, L).
- En Data Connections botón derecho, Add Connection... y ya buscas el fichero al que te quieras conectar.

Luego sobre ADO.NET si sigues estas explicaciones paso por paso no deberías tener mucho problema:

http://msdn.microsoft.com/en-us/library/ms254937.aspx

Un saludo,

Vicente

Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 19 de Octubre de 2009, 09:46:29 PM
Gracias Vicente. Es la primera vez que salgo del dev-c++ para hacer algo más que programitas en la consola y se me hace muy grande todo esto, la orientación me viene muy bien.

Lo que me faltaría ahora, es saber si tengo que empezar con C# desde el principio hasta llegar al nivel de poder hacer una aplicación con un menú visual que permita hacer todo lo que dije anteriormente con la base de datos, o podría empezar ya a investigar directamente como hacer la aplicación.

Por lo poco que creo que sé de C#, es todo orientación a objetos y de eso todavía no he profundizado en nada, sólo he leído cosas por encima de C++ sin meterme en ello (voy muy justo de tiempo), entonces si empiezo así de directo con C# creo que voy a ir bastante perdido.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Vicente en 19 de Octubre de 2009, 10:52:06 PM
Cita de: player en 19 de Octubre de 2009, 09:46:29 PM
Gracias Vicente. Es la primera vez que salgo del dev-c++ para hacer algo más que programitas en la consola y se me hace muy grande todo esto, la orientación me viene muy bien.

Lo que me faltaría ahora, es saber si tengo que empezar con C# desde el principio hasta llegar al nivel de poder hacer una aplicación con un menú visual que permita hacer todo lo que dije anteriormente con la base de datos, o podría empezar ya a investigar directamente como hacer la aplicación.

Por lo poco que creo que sé de C#, es todo orientación a objetos y de eso todavía no he profundizado en nada, sólo he leído cosas por encima de C++ sin meterme en ello (voy muy justo de tiempo), entonces si empiezo así de directo con C# creo que voy a ir bastante perdido.

Obviamente si sabes poco C++ hacer una aplicación CRUD de cero te va a venir un poco grande. Yo creo que primero deberías seguir aprendiendo un poco antes de liarte con esto (que es fácil, pero si sabes tan poco se te va a hacer cuesta arriba).

Un saludo,

Vicente
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 20 de Octubre de 2009, 07:07:20 AM
El problema es que no lo hago por gusto, es un trabajo para entregar  >.< tengo 2 meses para hacerlo, pero no sé si me dará tiempo para adquirir los conocimientos necesarios.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Vicente en 20 de Octubre de 2009, 09:46:20 AM
En dos meses te da tiempo de sobra, pero te tienes que poner claro ;)
Título: Re: Pequeña ayuda con visual studio..
Publicado por: [EX3] en 20 de Octubre de 2009, 10:27:08 AM
Te sigue haciendo falta pues el codigo para VB.NET o vas tirar por C# con lo que te comenta Vicente?

Sea como sea, te dejo por aqui un codigo simplicado de lo que usamos aqui en el curro, a la antigua como se hacia en VB6.0 con los Recordset de ADO:
Código (vbnet) [Seleccionar]
Imports System.Data.OleDb ' El espacio de nombres System.Data.OleDB permite trabajar con bases de datos Access e incluso con libros EXCEL.

Public Class ACCESS
    Implements IDisposable

    Dim con As OleDbConnection

    ' Constructor de la clase.
    Public Sub New(ByVal BaseDatos As String)
        con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & BaseDatos & ";")
        con.Open()
    End Sub

    Public Function Consulta(ByVal SQL As String) As OleDbDataReader
        Using cmd As New OleDbCommand(SQL, con)
            Return cmd.ExecuteReader
        End Using
    End Function

#Region "Destructor de la clase"
    Private disposedValue As Boolean = False        ' To detect redundant calls

    ' IDisposable
    Protected Overridable Sub Dispose(ByVal disposing As Boolean)
        If Not Me.disposedValue Then
            If disposing Then
                ' TODO: free managed resources when explicitly called
                con.Close()
                con.Dispose()
            End If

            ' TODO: free shared unmanaged resources
        End If
        Me.disposedValue = True
    End Sub

#Region " IDisposable Support "
    ' This code added by Visual Basic to correctly implement the disposable pattern.
    Public Sub Dispose() Implements IDisposable.Dispose
        ' Do not change this code.  Put cleanup code in Dispose(ByVal disposing As Boolean) above.
        Dispose(True)
        GC.SuppressFinalize(Me)
    End Sub
#End Region
#End Region

End Class

Y aqui un sencillo ejemplo de como usar esa clase:
Código (vbnet) [Seleccionar]
        ' Using crea un bloque con la instancia de un objeto y que mantiene activo hasta el final, donde se destruye automaticamente:
        Using bd As New ACCESS(Application.StartupPath & "\Contabilidad.mdb")
            Using rdr As System.Data.OleDb.OleDbDataReader = bd.Consulta("SELECT * FROM Facturas")
                Do While rdr.Read
                    Dim CampoString As String = rdr(0).ToString() ' Puedes referirte a un campo del registro actual por su posicion.
                    Dim CampoDouble As Double = Double.Parse(rdr("Presupuesto")) ' O por su propio nombre.
                Loop
            End Using
        End Using

Esto te sirve perfectamente para hacer consultas, recorrer sus registros y sus campos, ejecutar consultas de actualizacion o de borrado o de lo que quieras mediante SQL. Lo bonito quizas seria aprender a usar los objetos de ADO.NET para trabajar completamente con objetos Tabla, Fila, los DataSet, etc... pero como parece que estas un poco verde no te compliques y tira por lo facil y sencillo ya que el resultado va a ser el mismo.

Salu2...

Edit: Corregida una errata en el codigo del constructor de la clase.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 20 de Octubre de 2009, 11:19:38 AM
Muchas gracias [EX3], te lo agradezco mucho. No parece que esté verde, sino que lo estoy bastante. La asignatura no tiene nada que ver con bases de datos ni con programación pero han puesto esto para hacer y la verdad que la grandísima mayoría no sabemos por donde tirar.
Para ponerte un ejemplo, aún no hemos visto ni punteros ni estructuras de datos ni nada de eso... así que te puedes hacer una idea del poco nivel de C++ que aún tengo, aunque por mi cuenta voy aprendiendo lo que puedo siempre que tengo un hueco libre, que no son muchos.

Al final no sé si hacerlo en VB.NET o en C# (se puede usar cualquier lenguaje, no obligan a usar ninguno), no sé lo que será menos costoso para alguien que tiene que empezar desde cero hasta hacer la pequeña aplicación del menú. Por lo que veo voy a tener que ponerme las pilas con la POO si quiero hacer algo.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 20 de Octubre de 2009, 07:36:15 PM
Estoy trasteando un poco con lo que he encontrado aquí http://support.microsoft.com/kb/821765/es

Estoy enganchado en el punto 8 de mitad de página que dice:

Agregue el siguiente código al controlador de eventos Form1_Load:

'Fill retrieves rows from the data source by using the SELECT statement OleDbDataAda

A qué se refiere con el controlador de eventos? No sé lo que es ya que he seguido los pasos y no veo nada que se llame Form1_Load.

A ver si me podéis echar un cable. Gracias.

Edito: Se refiere a dar doble click dentro del cuadro Form1 y agregar el código allí?
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Vicente en 20 de Octubre de 2009, 08:04:23 PM
Sí, se refiere a eso. Puedes ver el evento si seleccionando el form te vas a properties y en properties en vez de ver las propiedades le das a ver los eventos (el rayito) y buscas el evento Load. Doble click y te crea el manejador de eventos.

Un saludo,

Vicente
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 20 de Octubre de 2009, 09:25:50 PM
Ok, perfecto, ya he conseguido crear y conectar la bd, crear un botón y agregar una fila a la tabla de la bd mediante la aplicación.

Lo que pasa que el ejecutable que hay en la carpeta "debug" hace lo mismo que el form que tengo en el visual studio al iniciar la depuración, es decir, ejecuto y me aparecen dos mensajes pidiendo que introduzca número y nombre, los introduzco y actualiza la fila de la bd, después me aparece la aplicación del form y el botón que he creado "agregar fila", pero al pinchar en el botón no hace nada, supongo que será cosa del código que había de ejemplo que hace eso.

Lo que yo quiero es que se abra la ventana form (hay alguna forma de cambiar lo de form que aparece en la parte superior de la ventana por otro nombre?), y a partir de ahí ya manejarme con los botones, si pincho al de agregar, que me agregue, si pincho a buscar, que me busque, etc. será cosa ya de investigar un poco, aunque tengo una ligera idea no acabo de verlo muy claro.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 26 de Octubre de 2009, 01:10:18 PM
Bueno después de estar mirando estos días un poco sobre el tema, puedo decir que estoy más perdido de lo que estaba. [EX3] he probado el código que dejaste pero no me aclaro mucho. He cargado la base de datos dentro del form siguiendo los pasos del link que puse y luego he añadido tu código dentro del form, pudiendo compilarlo bien sin errores y cambiando el nombre de la bd que sale en el ejemplo por la mía. Lo que pasa que ahí ya me pierdo porque no sé exactamente lo que debería hacer el botón al que le añado el código, me da error cuando inicio la depuración.

Encontré un tutorial en el que más o menos se hace lo que yo quiero hacer, pero utiliza VB 6.0 y conexión por DataEnvironment, por lo que el código de cada botón lo conecta todo por DataEnvironment y yo necesito por OleDb (no encuentro nada similar).

No conocéis de algún libro para ir a mirar en la biblioteca sobre VB.net o aunque sea VBA en el que explique bien todo esto de crear un menú con botones con los que se pueda agregar, eliminar y demás?

Lo que encuentro por internet no me aclara nada.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Vicente en 26 de Octubre de 2009, 10:19:45 PM
Estás intentando hacer la casa por el tejado, no te enteras porque te falta base :( A menos que encuentres por internet exactamente lo que quieres vas a seguir dando palos de ciego... Aquí tienes la MSDN sobre ADO.NET, una vez entiendas eso lo que quieres hacer es más o menos trivial:

http://msdn.microsoft.com/en-us/library/ms254937.aspx

Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 27 de Octubre de 2009, 09:10:47 AM
Pues sí, intento hacer la casa por el tejado sin base, así que voy a ponerme a aprenderlo todo desde abajo haciendo pequeñas cosas en VB en modo consola, luego pasaré a programitas visuales sin bases de datos y a partir de ahí me pondré con lo que tengo que hacer de trabajo, me va a llevar bastante sacrificio porque estoy muy liado con mil cosas a la vez pero bueno...así son las cosas.

Cuando esté más preparado me miro lo del msdn para ADO.NET
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 23 de Noviembre de 2009, 11:23:22 PM
Bueno, después de intentar hacer el trabajo me doy por vencido.

He conseguido hacer una base de datos sql con el mismo Visual Studio, un menú y varios formularios, agregar los orígenes de datos a cada formulario y demás, pero cuando ya tengo que agregar botones para guardar los datos que introduzco, o eliminar o modificar, ahí ya se escapa todo de mi entendimiento y no encuentro por ningún lado un tutorial que lo explique bien y me haga entender las cosas (hablando claro encuentro tutoriales pero son una M...  :grrr:.)

Después poder insertar nuevos datos, borrarlos, modificarlos y guardarlos en la base de datos (en teoría sencillo, pero para mí ya se ha convertido en un imposible, llevo un caos mental...) debería entrar en la parte más "compleja" del programa que consiste en:

Que los clientes puedan seleccionar varios artículos, se sumen los precios, se aplique un descuento (si lo hay), guardar eso y mostrarlo en un informe (si quiero) para poder imprimirlo posteriormente.

Vamos que supera todo demasiado el nivel que tengo, si conocéis algún tutorial o libro o lo que sea (me da igual que esté en inglés o en chino, lo que quiero es ser capaz de hacerlo al final  :grrr:) donde pueda aprender todas estas cosas os lo agradecería, sino estoy perdido.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Vicente en 24 de Noviembre de 2009, 12:10:17 AM
MSDN :) Leete todo lo que cuentan allí de ADO.NET (que es un montón) y podrás hacer todo lo que dices.

Un saludo,

vicente
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 24 de Noviembre de 2009, 12:48:57 AM
Vicente, volviendo a leer tu mensaje anterior en el que me recomendabas hacer la aplicación en C# por lo de la sintaxis parecida a C++, te digo que tienes toda la razón y creo que esta vez lo voy a intentar por ese camino.

Igualmente, tengo que ponerme a estudiar el lenguaje desde cero, pero seguro que lo cojo mucho más rápido acostumbrado a C++ que tener que seguir con VB.NET que se me está haciendo bastante pesado y debería dedicarle mucho más tiempo. Porque lo que es nivel de complejidad, va a ser el mismo independientemente del lenguaje no?

A nosotros nos recomiendan hacerlo en VB porque dicen que es más "facil", pero no es obligatorio, así que es una opción igual de válida no? Y documentación y/o ejemplos supongo que también habrán abundantes.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: [EX3] en 24 de Noviembre de 2009, 02:57:36 AM
Visual Basic .NET es la opcion perfecta para gente que venga del mundo del Visual Basic 6.0 y anteriores ya que bebe de la misma botella solo que orientado 100% a objetos, y si, quizas la sintaxis BASIC y ciertas ayudas que da la extension de VB.NET ayuden a principiantes a empezar con buen pie en .NET pero desde luego si vienes del C/C++ o Java lo idoneo y redondo es que vayas directo a C# dado que se diseño justo para lo mismo que VB.NET, captar gente que haya programado en sintaxis C++, amen a parte de que C# es el lenguaje insignia de .NET y el que mas partido le puede sacar el ciertos aspectos que VB.NET por ejemplo no permite (algunas sobrecargas de operadores por poner un ejemplo, pero seguro que hay mas).

Salu2...

P.D.: Y yo viniendo del VB 6.0 prefiero C# a VB.NET muchas veces. Lastima que en el trabajo por exigencias de la empresa se requiera si o si VB.NET :P
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 24 de Noviembre de 2009, 03:11:44 AM
VB nunca lo he tocado, empecé con C y luego pasé a C++, y viendo toda la orientación a objetos que tienen C# y VB.NET, la cual tengo que aprender, se me hace mas "fácil" hacerlo con C# que con VB.NET, que como no domino la sintaxis se me hace todo bastante engorroso de entender y mirando ahora ejemplos de C# me parece todo más entendible.

Me decido a hacer el cambio de lenguaje un poco tarde, pero bueno, espero que  sea para bien. VB.NET me gustaría aprenderlo pero con más calma y sin tener que entregar un trabajo dentro de poco, lo dejo en mi larga lista de cosas pendientes  :D
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 25 de Noviembre de 2009, 08:01:27 PM
A ver si me podéis ayudar con esto, que no encuentro ningún ejemplo:

Estoy haciendo que en un form se sumen 2 números y obtenga un resultado:

Googleando he encontrado esto:

private void button1_Click(object sender, EventArgs e)
       {
           int a=Convert.ToInt32(textBox1.Text.Trim()) + Convert.ToInt32(textBox2.Text.Trim());

            MessageBox.Show(a.ToString());
       }

Metes los valores en el textBox1 y en el textBox2 y al apretar el botón te muestra el resultado. Pero, si yo quiero que el resultado se muestre en un tercer textBox y no mediante un botón, cómo modifico el código para hacerlo?
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Vicente en 25 de Noviembre de 2009, 08:53:02 PM
¿Quieres que según se estén escribiendo los números en TextBox1 y 2 se modifique TextBox3? Si es eso tienes dos alternativas:

- Mirarte como funciona DataBinding en WinForms.
- Capturar el evento KeyPress en TextBox1 y TextBox2 para realizar la suma de nuevo en TextBox3 cada vez que se pulse una tecla.

Un saludo!

Vicente
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 25 de Noviembre de 2009, 09:02:11 PM
Sí, eso es exactamente lo que estoy buscando, voy a mirar si lo consigo. Gracias.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 26 de Noviembre de 2009, 02:46:46 PM
Otra pregunta..si yo creo una base de datos .mdf y uso sql para hacer las consulas y demás, necesito sql server instalado?
He instaldo el VS2008 completo pero no sé si también instala algo de sql server..además tengo unos cuantos ejemplos de bases de datos .mdf hechas con VS y al intentar abrir el ejecutable me da un error al intentar abrir la base de datos y algo de error de inicio de sesión y como detalles pone todo esto. Por qué pasa?


Error de inicio de sesión del usuario 'PC'.
   en System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   en System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   en System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   en System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)
   en System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
   en System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
   en System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
   en System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
   en System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
   en System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
   en System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
   en System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
   en System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
   en System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   en System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   en System.Data.SqlClient.SqlConnection.Open()
   en System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
   en System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   en System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
   en System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
   en Chapter_13.AdoSbsDataSetTableAdapters.CategoriesTableAdapter.Fill(CategoriesDataTable dataTable) en c:\microsoft press\ado.net 2.0 step by step\chap13\cs\chapter 13 - finish\adosbsdataset.designer.cs:línea 1703
   en Chapter_13.UsingADONet.UsingADONet_Load(Object sender, EventArgs e) en C:\Microsoft Press\ADO.NET 2.0 Step by Step\Chap13\CS\Chapter 13 - Finish\UsingADONet.cs:línea 25
   en System.Windows.Forms.Form.OnLoad(EventArgs e)
   en System.Windows.Forms.Form.OnCreateControl()
   en System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   en System.Windows.Forms.Control.CreateControl()
   en System.Windows.Forms.Control.WmShowWindow(Message& m)
   en System.Windows.Forms.Control.WndProc(Message& m)
   en System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   en System.Windows.Forms.ContainerControl.WndProc(Message& m)
   en System.Windows.Forms.Form.WmShowWindow(Message& m)
   en System.Windows.Forms.Form.WndProc(Message& m)
   en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Ensamblados cargados **************
mscorlib
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    Código base: file:///H:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Chapter 13
    Versión del ensamblado: 1.0.0.0
    Versión Win32: 1.0.0.0
    Código base: file:///C:/Microsoft%20Press/ADO.NET%202.0%20Step%20by%20Step/Chap13/CS/Chapter%2013%20-%20Finish/obj/Debug/Chapter%2013.exe
----------------------------------------
System.Windows.Forms
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    Código base: file:///H:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    Código base: file:///H:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    Código base: file:///H:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    Código base: file:///H:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    Código base: file:///H:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    Código base: file:///H:/Windows/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Windows.Forms.resources
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    Código base: file:///H:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_es_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
Accessibility
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    Código base: file:///H:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
mscorlib.resources
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    Código base: file:///H:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
System.Transactions
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    Código base: file:///H:/Windows/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    Código base: file:///H:/Windows/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------

************** Depuración JIT **************
Para habilitar la depuración Just In Time (JIT), el archivo de configuración de esta
aplicación o equipo (machine.config) debe tener el
valor jitDebugging establecido en la sección system.windows.forms.
La aplicación también se debe compilar con la depuración
habilitada

Por ejemplo:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Cuando esté habilitada la depuración JIT, cualquier excepción no controlada
se enviará al depurador JIT registrado en el equipo
en lugar de controlarlo mediante el cuadro de diálogo.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Vicente en 26 de Noviembre de 2009, 02:53:02 PM
Las bases de datos SQL se guardan en ficheros .MDF (Master Data File). VS 2008 instala SQL Server Express 2008 (excepto las versiones express creo, en esas lo instalas por separado). Tienes que asegurarte de que el usuario que ejecuta el programa tiene permisos para acceder a la BD, o si no te va a pasar lo que te está pasando. Para los permisos puedes usar el SQL Management Studio y ver que usuarios tienen que permisos y tal.

Un saludo,

Vicente
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 26 de Noviembre de 2009, 10:37:19 PM
Muchas gracias Vicente. Y una vez que la aplicación está terminada, el usuario necesitaría sql server instalado en el ordenador para poder usarla o es totalmente independiente?
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Vicente en 26 de Noviembre de 2009, 10:47:45 PM
El usuario necesita tener SQL instalado.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 27 de Noviembre de 2009, 09:30:32 AM
Estoy intentando hacerlo de la manera más sencilla, pero no me guarda los datos. Creo un DataSet, lo pongo en modo detalles y lo arrastro al form. Te crea un binding navigator por defecto con las opciones de guardar, añadir y eliminar, pero los datos no los guarda en la base de datos una vez que has añadido algo desde la aplicación.

Por defecto el código viene así del binding navigator viene así:

private void employeesBindingNavigatorSaveItem_Click(object sender, EventArgs e)
      {
         this.Validate();
         this.employeesBindingSource.EndEdit();
         this.employeesTableAdapter.Update(this.MiDataSet.Employees);

      }

Y por otra parte, cuando le da la gana a la base de datos dice que no se puede abrir porque da un error de inicio de sesión. He intentado abrirla desde SQL Server Management Studio y me dice que no se puede abrir y que se compruebe si está instalada la aplicación para archivos .mdf  ???

Llevo ya una semana entera perdida con esto y no he conseguido absolutamente nada, incluso los ejemplos de libros y demás no me funcionan correctamente, lo veo demasiado complicado para el nivel que tengo.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Darago_malaga en 28 de Noviembre de 2009, 02:22:13 AM
Yo lo que suelo hacer es buscar un ejemplo de aplicacion basico parecido y partiendo de esa base empezar a modificar  y adaptarla a lo que quiero.

Suelo buscar en http://www.planet-source-code.com

No he estado mucho buscando pero puedes mirar este ejemplo a ver si lo puedes aprovechar....aloejor se parece a lo que estas buscando.

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=48330&lngWId=1

Un saludo.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 28 de Noviembre de 2009, 01:10:02 PM
Darago, muchísimas gracias. No conocía esa página y es un lujo, hay muchos ejemplos que por fin funcionan y no dan error de conexión con la base de datos y permiten guardar los cambios y borrar y demás.

A ver si soy capaz de adaptar el ejemplo que he cogido a lo que necesito, hay algunas cosas que necesito que no aparecen, pero bueno, primero haré lo básico y luego intentaré completar lo que me falta.

A ver si lo consigo, espero que sí. Gracias de nuevo.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Darago_malaga en 28 de Noviembre de 2009, 02:24:32 PM
Pues no dudes en pedir ayuda con lo que te atranques....por estos lares hay gente mu competente dispuesta a ayudar. Animo y a la lucha.


Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 28 de Noviembre de 2009, 02:35:08 PM
Cita de: Darago_malaga en 28 de Noviembre de 2009, 02:24:32 PM
Pues no dudes en pedir ayuda con lo que te atranques....por estos lares hay gente mu competente dispuesta a ayudar. Animo y a la lucha.
Pues sí, aquí hay gente que sabe muchísimo y es de agradecer cuando te echan un cable. Lo que más tienen es paciencia para aguantar a burros como yo :P
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 29 de Noviembre de 2009, 11:40:10 AM
A ver si me podéis ayudar con esta duda que tengo.

Tengo 2 comboBox, el comboBox1 tiene como origen de datos a la tabla Empresa y como mostrar miembro el Nombre de Empresa.

En el comboBox2 quiero que se muestren los artículos que vende dicha empresa (tengo asociadas la tabla Artículo y Empresa), la orden select sería:

select Nombre_Articulo
from Articulos
where Nombre_Empresa like 'lo que aparezca en ComboBox1';

pero no tengo ni idea de como hacerlo, ya que no veo que el comboBox me deje hacer consultas sql y con las opciones que me da de:

Origen de datos, mostrar miembro, miembro de valor, valor seleccionado...no veo como hacer la relación.

De un modo gráfico-ratero, la cosa sería así:

(http://img69.imageshack.us/img69/1227/preguntat.jpg)

Los valores que guarde en el ComboBox, se guardarán también en la base de datos no?
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Vicente en 29 de Noviembre de 2009, 05:46:40 PM
Puedes hacer la query contra la BD, recoger los resultados, guardarlos en una lista y poner esa lista como origen de datos del combobox.

Un saludo,

Vicente
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 30 de Noviembre de 2009, 12:01:43 AM
Y puedo hacer esa query sin agregar ningún origen de datos? Es que si lo hago así, me crea un dataset y un bindingsource automáticamente, y no quiero eso, lo estoy haciendo todo a base de escribir código sin agregar ningún botón de datos. Si fuera así, agradecería algún ejemplo o link con algún ejemplo, que no he encontrado nada.

Y otra cuestión. Dentro del proyecto, en la carpeta donde están todos los Form y demás, tengo la base de datos .mdb y dentro de la carpeta Debug, donde crea el exe, tengo también la base de datos .mdb (si no es así me da un error al generar el proyecto :-\)

Lo que pasa que cuando ejecuto el exe y agrego datos desde el formulario, esos datos me los guarda en la base de datos de la carpeta Debug, pero en la otra carpeta la base de datos no sufre ningún cambio.

En cambio, si le doy a generar dentro del Visual Studio, me borra todos los datos que tenía guardados en la base de datos de la carpeta Debug, y sólo quedan los datos de la base de datos de la otra carpeta (los datos base que había metido al crear la base de datos en access).

Hay alguna explicación? Eso es así o me pasa algo raro?

Gracias.

Título: Re: Pequeña ayuda con visual studio..
Publicado por: Vicente en 30 de Noviembre de 2009, 01:15:36 AM
Hola,

1) no entiendo que es lo de "escribir una query sin ningún origen de datos" :S La query tiene que ir contra una BD. Si no quieres que VS te cree todo automáticamente, conéctate tu normalmente usando la clase ConnectionString (luego ejecutas un Command y le pasas por ahí la ConnectionString). Pero creo que no entiendo lo que quieres hacer...

2) Lo que te pasa es normal. Tu tienes la BD dentro de tu proyecto, si te vas a properties, verás que tiene seguramente una propiedad que vale "Copy Always" o "Copy if newer" or algo así. Eso significa que cuando compilas la BD se copia a la carpeta Debug/Release para cuando ejecutes el programa. Entonces, si editas desde el VS estás editando la BD del proyecto, pero si editas desde tu aplicación, estás editando la de la carpeta debug (que es una copia de la original que se genera cada vez que compilas).

Un saludo,

Vicente
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 30 de Noviembre de 2009, 07:27:08 AM
Sí, eso es lo que quería hacer Vicente, lo que has puesto en el paso 1. Me he pasado toda la noche sin dormir pero ya lo he conseguido, ya me va quedando menos para acabar esto.

Gracias.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 30 de Noviembre de 2009, 07:37:32 AM
Por cierto, sabéis por qué aquí en mi ordenador si ejecuto la aplicación me sale todo bien con los colores de fondo, el color de letra etc que yo he elegido y si lo ejecuto en otro ordenador, no me sale el color de fondo ni el color de letra con el que he hecho la aplicación?

He codigo un color de letra negro y he agregado unas barras negras y demás y en el otro ordenador se ve todo blanco, incluso la letra al rellenar los campos de los textbox.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Hechelion en 30 de Noviembre de 2009, 09:17:51 AM
Cunado seleccionas un color, fiajte que tienes dos paletas de colores, una es de sistema (Colores que usa el OS y que pueden variar si has hecho tunning sobre tu OS) y la otra son colores en base a RGB (La pestaña "personalizado" ), para que el color sea independiente del OS debes usar esa pestaña o pasar los colores en RGB mediante código.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 30 de Noviembre de 2009, 12:08:11 PM
Ya he localizado lo de los colores. Lo he modificado todo a colores personalizados y sólo me aparece modificado uno de los formularios, el resto siguen igual  Oo
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 30 de Noviembre de 2009, 11:33:41 PM
Bueno, estoy intentado hacer de lo último que me queda pero no lo consigo.

Estoy en un formulario y me aparecen en un comboBox los codigos de clientes que tengo agregados en la tabla de clientes. Quiero que al seleccionar un código de cliente en el comboBox, los datos de los clientes (como nombre, apellidos, etc) me aparezcan en los distintos textBox que tengo preparados para ello en el formulario de forma automática (en vez de agregarlos yo manualmente, que me aparezcan automáticamente). He intentado hacerlo mediante un botón que llama a una función que muestra los datos en los distintos textBox pero me daba un error de system.indexoutofrangeexception. Así que no sé qué hacer, alguna sugerencia?
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Vicente en 01 de Diciembre de 2009, 12:04:46 AM
Esa excepción es que has accedido a un array o una lista y has cogido un elemento que no existe (la lista tiene 4 elementos y has cogido el 5). Mira la línea donde te da, debería ser bastante fácil de arreglar depurando un poco.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 01 de Diciembre de 2009, 12:45:27 AM
Para afinar más, me dice:

Excepción no controlada del tipo 'System.Data.OleDb.OleDbException' en System.Data.dll

Información adicional: No coinciden los tipos de datos en la expresión de criterios.

Y marca en verde la línea de código datareader = com1.ExecuteReader();

Edito, ya lo conseguí!!!!! Estaba poniendo el nombre de las columnas mal, tenía que poner el nombre de las tablas de donde quiero que vengan los datos y no el nombre de las tablas donde quería que se guardaran ^_^' Uff al final ha resultado ser muy fácil pero un fallo de estos te varias horas liado.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Darago_malaga en 01 de Diciembre de 2009, 03:29:22 AM
Que buenocuando los proyectos van saliendo.... eh???
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 01 de Diciembre de 2009, 01:46:01 PM
Sí, la verdad que la programación da muchos quebraderos de cabeza, pero cuando las cosas salen todo ese sacrificio se ve recompensado y es muy agradecido.

Gracias a la aplicación base que me bajé de planetsourcecode he podido ir ampliando a lo que iba necesitando y he conseguido acabarla, y en C#, lenguaje que aún no domino nada pero que quiero ir aprendiendo poco a poco.

Espero que con el tiempo, llegue a ser capaz de hacer algo así desde cero, porque la verdad, sin esa aplicación que he ido modificando hubiera sido imposible llegar a hacerlo. Ahora sólo me falta poder componer una factura e imprimirla, así que me toca mirar Crystal Reports a ver como puedo hacerlo.

Gracias a todos por vuestra ayuda y consejos, si tengo problemas con Crystal Reports ya me pasaré a molestar un rato más :D
Título: Re: Pequeña ayuda con visual studio..
Publicado por: Vicente en 01 de Diciembre de 2009, 06:23:25 PM
Cita de: player en 01 de Diciembre de 2009, 01:46:01 PM
Gracias a todos por vuestra ayuda y consejos, si tengo problemas con Crystal Reports ya me pasaré a molestar un rato más :D

Con Crystal espero que no tengas problemas :p
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 01 de Diciembre de 2009, 11:08:30 PM
Si dices eso, será porque es algo que no tienen ninguna complicación y si vengo con problemas de Crystal Reports resultará que soy un caso perdido |:|
Bueno voy a ponerme con ello, que hasta ahora no he podido.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 02 de Diciembre de 2009, 01:56:58 AM
Lo único (y más importante) que no me sale es que me muestre el valor que tengo dentro de un textbox o un combobox dentro del informe.

He probado esto, pero no me aparece el valor:

crystalReportViewer1.SelectionFormula = "{Tabla.NombreCliente}= ' " +textbox1.Text + " ' ";

Cómo debo hacerlo?

He seguido los pasos de esta web: http://www.elguille.info/colabora/puntoNET/kagueto_crearInforme.htm

Edito: Ya lo tengo solucionado, por fin he terminado toda la aplicación a falta de pulir algunas tonterías :)_
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 02 de Diciembre de 2009, 04:37:37 AM
Por fin lo tengo todo en funcionamiento, ya se me visualizan todos los campos en la factura y puedo imprimirla, pero tengo un pequeño problema a la hora de imprimir.

Tengo un botón al que le doy y me muestra en el cuadro del CrystalReportViewer las facturas que tengo guardadas en mi tabla de facturas , y si le doy al icono de imprimir de la barra del CrystalReportViewer, me da opción a imprimirlas todas, claro, yo puedo elegir el número de página que quiero imprimir pero no es una solución elegante.

Lo que quiero es poder imprimir la factura que tengo visualizada en ese momento en el CrystalReportViewer. A ver si me podéis iluminar que ya es lo último que me queda.
Título: Re: Pequeña ayuda con visual studio..
Publicado por: player en 02 de Diciembre de 2009, 04:11:01 PM
Otra consulta acerca de sql, que no me está funcionando la instrucción.

Quiero que me ordene los datos que me muestra en la tabla por orden descendente, entonces estoy haciendo:

select Total from TablaCobros order by Total desc

Le ponga o no le ponga el desc, me lo ordena de forma ascendente. No sé si habrá alguna otra manera de poner el descendente a través de código en C#, pero todos los ejemplos que encuentro por internet tienen desc ???