Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Pequeña ayuda con visual studio..

Iniciado por player, 19 de Octubre de 2009, 07:48:50 PM

« anterior - próximo »

player

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

player

#16
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.

Vicente

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

player

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.

[EX3]

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
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

player

#20
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

player

#21
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?

Vicente

¿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

player

Sí, eso es exactamente lo que estoy buscando, voy a mirar si lo consigo. Gracias.

player

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.

Vicente

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

player

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?


player

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.

Darago_malaga

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.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.