Foros del Web » Programación para mayores de 30 ;) » .NET »

Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Estas en el tema de Ingresar registros a tablas diferentes relacionas. VB.Net MySQL en el foro de .NET en Foros del Web. Buenas tardes, saludos a todos. Soy nuevo en el foro y también en la programación, espero puedan darme una mano con unas cosas que no ...
  #1 (permalink)  
Antiguo 17/11/2012, 11:48
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 1
Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Buenas tardes, saludos a todos.

Soy nuevo en el foro y también en la programación, espero puedan darme una mano con unas cosas que no me da la cabeza para resolver.

Estoy desarrollando un pequeño sistema en VB.Net 2010 y necesito que guarde registros en 5 tablas relacionadas pero la verdad no tengo idea. He Estado probando con una sola tabla y el código funciona bien pero como dije solo para una tabla.

¿Como haría para insertar los distintos datos que se ingresarían por textbox a las diferentes tablas que tengo en MySQL???

Y otro problema que tengo es con las fechas, ya que en MySQL se guardan con el formato de YY-MM-DD y quisiera que se guardaran como DD-MM-YY. Esta fecha la estoy ingresando por un textbox también. Si hay alguna manera de ingresar las fechas mas fácil o que funcione mejor con MySQL y me pudieran orientas lo intentaría con gusto.

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 17/11/2012, 12:45
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Cita:
Iniciado por edgarherrera Ver Mensaje
¿Como haría para insertar los distintos datos que se ingresarían por textbox a las diferentes tablas que tengo en MySQL???

Los insertas TABLA por TABLA, pero tienen un orden, ya que primero debes guadar las tablas principales y luego las que dependen de esta.

Algo asi, si vas a guadar en la tabla de CIUDADES, primero debes guadar el PAIS, por la relacion que estas deben de tener.

Con relacion a las fechas, NO, NUNCA trates de forzar la fecha del motor de base de datos, la recomendacion en este caso va asi:

1. La fecha en los motores por lo general se guadar en yyyy-MM-dd, no trates de cambiarla.

2. Es muy importante el tipo datos del campo es DATETIME o DATE si quieres o no guardar con horas y minutos

3. Cuando vas a enviar la informacion a la base de datos si es con procedimiento almacenado el tipo de datos se define DATE TIME.

4. El formato de la fecha esta definido en el motor, si tu quieres que se vea dd-MM-yyyy lo haces cuando recuperes los datos, si el usuario la ingresa la vea asi, pero es solo VISUAL. no pierdas la cabeza tratando de guardarla asi tal cual la digitan.

5. Trata de usar un control para las fechas, DatePicker o algo como eso, tratar de controlar el ingreso de las fechas en un TextBox puedes perder la cabeza en intento. porque un usuario puede hacer esto:

2012-11-25
2012/11/25
2012-25-11
2012/25/11
25-11-2012
25/11/2012
11-25-2012
11/25/2012

Y la lista de posibilidades contra un usuario pueden ser mucho mas largas y validar todas esas posibilidades es una locura.

Si aun continuas con dudas nos comentas,

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #3 (permalink)  
Antiguo 17/11/2012, 13:05
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Muchas gracias por contestas tan rápido, estaba atento porque bueno el tiempo libre es mas que todo los fines de semana.

Entendí perfectamente lo de las tablas relacionadas y la inserción TABLA por TABLA , pero pregunto (quizás falle aquí cuando cree el post):

¿Como seria el código en vb.net para hacer la inserción?

2 insert into??? uno debajo del otro???

La verdad es qno tengo idea.

Cita:
El Código es algo asi:
Try
'sSqlOperaciones = "INSERT INTO operaciones (campo1,campo2,campo3,campo4,campo5) VALUES ('" & txt1.Text & "','" & txt2.Text & "','" & txt3.Text & "','" & txt4.Text & "','" & txt5.text & "')"

' Se crean los comandos para el SQL
cmdOperaciones = New MySqlCommand()
cmdOperaciones.Connection = conexionBD
cmdOperaciones.CommandText = sSqlOperaciones
cmdOperaciones.CommandType = CommandType.Text
ConsultaSQL = cmdOperaciones.ExecuteReader()
ConsultaSQL.Read()
Dim iNroRegistos As Integer = ConsultaSQL.RecordsAffected
If iNroRegistos = 0 Then
MessageBox.Show("No se grabó el registro en la tabla!!!!")
Else
MessageBox.Show("Registro grabado en la tabla!!!")
fLimpiar_textbox()
End If
ConsultaSQL.Close()
Catch ex As Exception
MessageBox.Show("Error en el Registro!!! " & vbCrLf & ex.Message.ToString)
Me.Visible = False
'frmMenu.Show()
End Try
End If
Disculpen porque no se como organizarlo mejor. Espero se entienda.

Ahora con respecto a la fecha y datetimepicker también lo entendí muy bien. Mucho de eso lei en otros lados luego de buscar en google . y la pregunta seria

¿Como hago para insertar la fecha al campo de la BD en Mysql desde el timepicker???

La verdad es q mi problema es general es qno sabría como plasmar el código, quizás lo mas sencillo pero este tipo de cosas ni idea.

Muchas gracias como siempre. Muy agradecido.
  #4 (permalink)  
Antiguo 17/11/2012, 13:11
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

No generes una cadena con el INSERT, parametrízala, como se hace con cualquier otro DBMS. Para eso existen los Frameworks específicos de MySQL, los que puedes descargar de la web oficial.
Eso hará que simplemente cargues el valor en el objeto MySqlCommand como Parameter, dandole el valor adecuado, y el resto lo maneja el sistema.

Fijate en los ejemplos de la web oficial de MySQL:
- MySL 5.5::21.2. MySQL Connector/Net
- MySQL 5.5::21.2.5. Connector/Net Programming
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 17/11/2012, 13:12
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Hola, con relacion al codigo usa el Highlight. Mira como se ve de bonito, mas facil de leer y comprender

Código VB:
Ver original
  1. El Código es algo asi:
  2. Try
  3. 'sSqlOperaciones = "INSERT INTO operaciones (campo1,campo2,campo3,campo4,campo5) VALUES ('" & txt1.Text & "','" & txt2.Text & "','" & txt3.Text & "','" & txt4.Text & "','" & txt5.text & "')"
  4.  
  5. ' Se crean los comandos para el SQL
  6. cmdOperaciones = New MySqlCommand()
  7. cmdOperaciones.Connection = conexionBD
  8. cmdOperaciones.CommandText = sSqlOperaciones
  9. cmdOperaciones.CommandType = CommandType.Text
  10. ConsultaSQL = cmdOperaciones.ExecuteReader()
  11. ConsultaSQL.Read()
  12. Dim iNroRegistos As Integer = ConsultaSQL.RecordsAffected
  13. If iNroRegistos = 0 Then
  14. MessageBox.Show("No se grabó el registro en la tabla!!!!")
  15. Else
  16. MessageBox.Show("Registro grabado en la tabla!!!")
  17. fLimpiar_textbox()
  18. End If
  19. ConsultaSQL.Close()
  20. Catch ex As Exception
  21. MessageBox.Show("Error en el Registro!!! " & vbCrLf & ex.Message.ToString)
  22. Me.Visible = False
  23. 'frmMenu.Show()
  24. End Try
  25. End If

La mejor forma de hacer ese INSERT es usando Parametros. asi:

Código C#:
Ver original
  1. try
  2.                 {
  3.                     cn.Open();
  4.                     MySqlParameter pIdOwner = new MySqlParameter("@ID_OWNER", MySqlDbType.String, 40) { Value = id_owner };
  5.                     MySqlParameter pCodeOwner = new MySqlParameter("@COD_OWNER", MySqlDbType.String, 20) { Value = cod_owner };
  6.                     MySqlParameter pName = new MySqlParameter("@NAME", MySqlDbType.String, 80) { Value = name };
  7.                     MySqlParameter pTelephone = new MySqlParameter("@TELEPHONE", MySqlDbType.String, 45) { Value = telephone };
  8.                     MySqlParameter pCellPhone = new MySqlParameter("@CELLPHONE", MySqlDbType.String, 45) { Value = cellphone };
  9.                     MySqlParameter pAddress = new MySqlParameter("@ADDRESS", MySqlDbType.String, 80) { Value = address };
  10.                     MySqlParameter pMail = new MySqlParameter("@MAIL", MySqlDbType.String, 80) { Value = mail };
  11.  
  12.                     query = "INSERT INTO tblowners " +
  13.                         "(ID_OWNER, " +
  14.                         "COD_OWNER, " +
  15.                         "NAME, " +
  16.                         "TELEPHONE, " +
  17.                         "CELLPHONE, " +
  18.                         "ADDRESS, " +
  19.                         "MAIL) " +
  20.                         "VALUES " +
  21.                         "( " +
  22.                         "@ID_OWNER, " +
  23.                         "@COD_OWNER, " +
  24.                         "@NAME, " +
  25.                         "@TELEPHONE, " +
  26.                         "@CELLPHONE, " +
  27.                         "@ADDRESS, " +
  28.                         "@MAIL " +
  29.                         ") ";
  30.  
  31.                     MySqlCommand cmd = new MySqlCommand(query, cn);
  32.                     cmd.Parameters.Add(pIdOwner);
  33.                     cmd.Parameters.Add(pCodeOwner);
  34.                     cmd.Parameters.Add(pName);
  35.                     cmd.Parameters.Add(pTelephone);
  36.                     cmd.Parameters.Add(pCellPhone);
  37.                     cmd.Parameters.Add(pAddress);
  38.                     cmd.Parameters.Add(pMail);
  39.  
  40.                     result = cmd.ExecuteNonQuery();
  41.  
  42.                 }
  43.                 catch (Exception ex)
  44.                 {
  45.                     Common.CallException(ex);
  46.                 }
  47.                 finally
  48.                 {
  49.                     cn.Close();
  50.                 }

En ese ejemplo no hay ninguno de fecha pero si lo hubiese se enviaba asi:

Código C#:
Ver original
  1. MySqlParameter pDATE_CALL = new MySqlParameter("@DATE_CALL", MySqlDbType.DateTime ) { Value = call.DATE_CALL   };

El tipo se define con el MySqlDbType

Estas trabajando con el MySQLConnector?

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #6 (permalink)  
Antiguo 17/11/2012, 13:33
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No generes una cadena con el INSERT, parametrízala, como se hace con cualquier otro DBMS. Para eso existen los Frameworks específicos de MySQL, los que puedes descargar de la web oficial.
Eso hará que simplemente cargues el valor en el objeto MySqlCommand como Parameter, dandole el valor adecuado, y el resto lo maneja el sistema.

Fijate en los ejemplos de la web oficial de MySQL:
- [URL="http://dev.mysql.com/doc/refman/5.6/en/connector-net.html"]MySL 5.5::21.2. MySQL Connector/Net[/URL]
[URL="http://dev.mysql.com/doc/refman/5.6/en/connector-net-programming.html"]- MySQL 5.5::21.2.5. Connector/Net Programming[/URL]
Miércoles me enrede con lo que me dijiste porque la verdad no se de que me estas hablando!!! y discúlpame de verdad pero no se que es Parameter y tampoco lo de Parametrizarla. Claro es mi deber investigar un poco mas, pero ahorita no entendí la ayuda.


Con lo que me dijo jhonwilliams también me enrede un poco pero el ejemplo ayuda bastante. Usando ese tipo INSERT que mas tendria que cambiar en el proyecto que llevo????

y lo del MysqlConnector creo que si.

Creo que se puede ver aqui:

Código vb:
Ver original
  1. Imports MySql.Data.MySqlClient
  2. Public Class frmOperaciones
  3.     Friend conexionBD = New MySqlConnection
  4.     Friend ConsultaSQL, ActualizaSQL, EliminarSQL As System.Data.IDataReader
  5.     Friend sServidor As String = "localhost"
  6.     Friend sUsuario As String = "root"
  7.     Friend sClave As String = ""
  8.     Friend sBaseDato As String = "sucre"
  9.     Friend cmdOperaciones, cmdActualizado, cmdEliminar As MySqlCommand   '   AGREGAR ESTA LINEA   *OJO*
  10.    Friend dtOperaciones As New DataTable
  11.     Friend sSqlOperaciones, sCodigo As String
  12.     ' Declaramos una variable para la tabla en memoria como si fuese un recordset
  13.    Private dt As DataTable
  14.     Private fila As Integer
  15.     Dim sAccion As String

Estoy un tanto enredado, espero me tengan algo de paciencia. Les agradezco mucho la ayuda.
  #7 (permalink)  
Antiguo 17/11/2012, 14:02
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Hola.

Comienza por leer un poco la documentacion oficial:

http://dev.mysql.com/doc/refman/5.5/...ector-net.html

Y por aca hay un ejemplo en C# de como hacer algunas de las fuciones mas comunes.

http://www.codeproject.com/Articles/...ect-C-to-MySQL

Recomendacion:

Creo que estas quemando la conexion a la base de datos en el codigo:

Código VB:
Ver original
  1. Public Class frmOperaciones
  2.     Friend conexionBD = New MySqlConnection
  3.     Friend ConsultaSQL, ActualizaSQL, EliminarSQL As System.Data.IDataReader
  4.     Friend sServidor As String = "localhost"
  5.     Friend sUsuario As String = "root"
  6.     Friend sClave As String = ""
  7.     Friend sBaseDato As String = "sucre"
  8.     Friend cmdOperaciones, cmdActualizado, cmdEliminar As MySqlCommand   '   AGREGAR ESTA LINEA   *OJO*
  9.    Friend dtOperaciones As New DataTable
  10.     Friend sSqlOperaciones, sCodigo As String
  11.     ' Declaramos una variable para la tabla en memoria como si fuese un recordset
  12.    Private dt As DataTable
  13.     Private fila As Integer
  14.     Dim sAccion As String


La recomendacion ahi es que se lea desde un archivo de configuracion, porque si luego cambia la conexion toca volver a compilar y esa no es una buena practica de desarrollo.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #8 (permalink)  
Antiguo 17/11/2012, 14:14
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

@jhonwilliams Gracias por la ayuda. Esta bien me toca leer un poco .

Este método de conexión es el que me están mostrando en la universidad, no sabría como hacerlo desde un archivo de configuración. Pero crees que para este pequeño proyecto en el que estoy embarcado pueda seguirlo trabajando así???? Lo digo por cuestiones de tiempo.
  #9 (permalink)  
Antiguo 17/11/2012, 16:56
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Cita:
Lo digo por cuestiones de tiempo.
Lo que te ahorres de tiempo ahora te puede costar un trabajo que no te den por ignorar cómo se hacen estas cosas, que son fundamentales al momento de un examen de aptitud en consultoras o empresas de desarrollo.
Te lo digo por experiencia.
No ahorres tiempo o esfuerzo en cosas que son críticas.
Para experimentar, éste es el momento, luego será demasiado tarde.

Un detalle: Los método que e plantea son iguales si usas luego Oracle, SQL Server, Postgre, o bien programes en ASP.Net, VB.Net o cosas así. Si lo aprendes bien hora, cuando llegue el momento sólo deberás repasar lo básico.
Cuando un profesor te dice que una vez que conoces un lenguaje, puedes programar en prácticamente todo, no exagera. Los principios de trabajo son iguales.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 17/11/2012, 20:26
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Cita:
Iniciado por edgarherrera Ver Mensaje
Lo digo por cuestiones de tiempo.
Realmente no tardaras mas de media hora en cambiar la conexion a un archivo de configuracion tanto en web como en WindowsForms, busca en google "leer archivo de configuracion asp o windowsforms" (segun sea el caso).

Pero basicamente los pasos son estos:

En WindowsForms:

1. En las propiedades del proyecto hay una seccion Settings, alli puedes crear un ConnetionString, alli configuras las cadena y debe quedar asi:

Código VB:
Ver original
  1. Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
fuente connectionstring

2. Leer la conexion asi:

Código C#:
Ver original
  1. Settings.Default.Conexion;

Para que te funcione la linea anterior debes hacer using o Imports de:

Código C#:
Ver original
  1. using TuProyecto.Properties;

El valor recuperado lo asignas a una variable publica que puedas leer desde todos los formularios y listo.

Ya tienes tu conexion.

Ahora si es una aplicacion web:

1. En el Web.Config, debes tener esta etiqueta

Código xml:
Ver original
  1. <configuration>
  2.   <connectionStrings>
  3. <add name="ElNombreDeLaConexion" connectionString="Data Source=Servidor;Initial Catalog=BaseDeDatos;User ID=USUARIO;Password=PASSWORD;" providerName="System.Data.SqlClient" />
  4.  </connectionStrings>
  5. </configuration>

Como puedes ver es una conexion de SQL Server, aun no e trabajado con MySQL en Aplicaciones Web.

Y para leer esa conexion usas esta linea:

Código C#:
Ver original
  1. ConfigurationManager.ConnectionStrings["GestionInmobiliaria"].ConnectionString;

Para poder leer la linea anterior debes hacer using o imports de este namespace:

Código C#:
Ver original
  1. using System.Configuration;

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)

Última edición por jhonwilliams; 17/11/2012 a las 20:41
  #11 (permalink)  
Antiguo 18/11/2012, 15:34
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

@gnzsoloyo @jhonwilliams Muchas gracias a ambos por la ayuda. Es verdad ahora es el momento de hacer o aprender las cosas de forma correcta.

Estoy en ello, me estoy leyendo los links que me mandaron de el MySQL Connector/net y voy a investigar un poco mas para hacer uno de ello e intentar hacer los insert. Porque el código que ya tengo inserta, elimina, consulta y edita; pero no importa voy a ver como logro hacerlo de la forma que me recomiendan.

Muchas gracias nuevamente. Espero tenerles noticias pronto con avances.
  #12 (permalink)  
Antiguo 19/11/2012, 13:00
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Saludos a todos buenas tardes!

Continuo aqui con los problemas. Logre hacer la conexión a la base de datos de esta manera:

Código vb:
Ver original
  1. Imports MySql.Data.MySqlClient
  2. Imports MySql.Data
  3.  
  4. Public Class frmOperaciones
  5.  
  6.     Private MysqlCommand As New MySqlCommand
  7.     Dim MysqlConnString As String = "server=localhost; database=sucre; user id= root ; password="" "
  8.     Public MysqlConexion As MySqlConnection = New MySqlConnection(MysqlConnString)
  9.     Dim sAccion As String
  10.     Friend sSqlOperaciones, sCodigo As String

Pero no se si refleja la solución a lo que me decía @@jhonwilliams con respecto a que estaba quemando la conexión a la BD.
Espero esta sea la manera correcta.

Ahora en el código anterior tenia otras funciones como por ejemplo Leer de la BD para saber si habían ya registros y de esta manera Habilitar textbox y otras cosas.

Algo asi:

Código vb:
Ver original
  1. Public Function LeerTabla(ByVal sSqlUsuario)
  2.         Try
  3.             Dim iNroRegistros As Integer = 0
  4.             Dim daoperaciones As New MySqlDataAdapter
  5.             Dim dtoperaciones As New DataTable
  6.             Dim dsoperaciones As New DataSet
  7.             ' Se crean los comandos para el SQL
  8.            cmdOperaciones = New MySqlCommand()            ' IR AL PRINICIPIO *OJO*
  9.            MysqlConexion.Open()
  10.             cmdOperaciones.CommandText = sSqlUsuario
  11.  
  12.             ' ejecutamos la consulta con el dataadapter
  13.            daoperaciones.SelectCommand = cmdOperaciones
  14.  
  15.             ' Llenamos el datatable con los datos obtenidos de la consulta
  16.            daoperaciones.Fill(dtoperaciones)
  17.  
  18.             ' Numero de registros encontrados
  19.            iNroRegistros = dtoperaciones.Rows.Count
  20.  
  21.             ' Ocultamos el boton buscar
  22.            btnBuscar.Visible = False
  23.  
  24.             ' VAMOS POR ESTA LINEA !!!!!!!!!!!!!!!!
  25.  
  26.             If iNroRegistros = 0 Then
  27.                 If sAccion = "I" Then
  28.                     ' Mostramos los botones grabar y cancelar
  29.                    btnCancelar.Visible = True
  30.                     btnGrabado.Visible = True
  31.                     fHabilitar_textbox(True)
  32.                     txtReferencia.Enabled = False
  33.                     txtOperacion.Enabled = False
  34.                     Return True
  35.                 Else
  36.                     ' Mostramos el boton buscar
  37.                    btnBuscar.Visible = True
  38.                     MessageBox.Show("No se encontraron registros en la tabla")
  39.                     fHabilitar_textbox(True)
  40.                     Return False
  41.                 End If
  42.             Else
  43.                 If sAccion = "I" Then
  44.                     ' Ocultamos el boton grabar
  45.                    btnGrabado.Visible = False
  46.                     ' Mostramos el boton buscar
  47.                    btnBuscar.Visible = True
  48.                     MessageBox.Show("Codigo ya registrado en la tabla")
  49.                     Return False

La pregunta sería como realizar estas operaciones de esta nueva forma q estoy implementando???
  #13 (permalink)  
Antiguo 19/11/2012, 13:27
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Hola.

Por lo que veo aun tienes la conexion dentro del proyecto y la idea es en un archivo de configuracion, es una aplicacion web o de escritorio

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #14 (permalink)  
Antiguo 19/11/2012, 13:30
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Cita:
Iniciado por jhonwilliams Ver Mensaje
Hola.

Por lo que veo aun tienes la conexión dentro del proyecto y la idea es en un archivo de configuración, es una aplicación web o de escritorio

Saludos
Hola jhon. Es una aplicación de escritorio.
  #15 (permalink)  
Antiguo 19/11/2012, 13:47
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Entonces vamos por partes, mi visual studio esta en ingles asi, que los pasos van en ese idioma.

1. Clic derecho sobre le proyecto.
2. Clic en Properties
3. Al lado izquierdo hay como unas pestañas, Clic en: Settings
4. Te va a mostrar como una grid.
4.1 En la primera columna Name, pones el nombre para tu conexion.
4.2 En la columna Type Seleccionas ConnectioString esta casi de ultimo.
4.3 En la columna Value escribes la conexion asi:

Código vb:
Ver original
  1. "server=localhost; database=sucre; user id= root ; password=""

4.4 Tu codigo queda mas o menos asi, leyendo la conexion desde el archivo de configuraciones.

Código vb:
Ver original
  1. Public Class frmOperaciones
  2.  
  3.     Private MysqlCommand As New MySqlCommand
  4.     Dim MysqlConnString As String =  Settings.Default.ConexionEjemplo
  5.     Public MysqlConexion As MySqlConnection = New MySqlConnection(MysqlConnString)
  6.     Dim sAccion As String
  7.     Friend sSqlOperaciones, sCodigo As String



Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #16 (permalink)  
Antiguo 19/11/2012, 20:59
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

He seguido las indicaciones que me has dado, pero tengo un error me dice que Settings no esta declarado. "Puede que este inaccesible debido a su nivel de protección".

Código vb:
Ver original
  1. Dim MysqlConnString As String = [B]settings[/B].Default.consql

Que crees que pueda ser?
  #17 (permalink)  
Antiguo 20/11/2012, 07:02
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Olvide comentarte que para poder leer el Setting. hay que hacer un using o imports asi:


Código C#:
Ver original
  1. using MiProyecto.Properties;

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #18 (permalink)  
Antiguo 21/11/2012, 11:46
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Buenas tardes. Que tal Jhon, disculpa la tardanza en contestar.

Estuve investigando como hacer uso de la conexión desde el archivo de configuraciones, que me llevo al app.config donde quedaba configurada.

Importe referencias y demas y el codigo quedo asi:

Código vb:
Ver original
  1. Imports MySql.Data.MySqlClient
  2. Imports MySql.Data
  3. Imports System.Configuration
  4. Public Class frmReversos
  5.     'aqui va la conexion a la BD
  6.    Dim conn As New MySqlConnection(ConfigurationManager.ConnectionStrings("ConexionBD").ToString())
  7.     Dim MysqlCommand As MySqlCommand = conn.CreateCommand()
  8.     Dim da As New MySqlDataAdapter(MySqlCommand)
  9.     Dim dt As New DataTable()
  10.     Friend cmdReversos, cmdActualizado, cmdEliminar As MySqlCommand
  11.     Friend ConsultaSQL, ActualizaSQL, EliminarSQL As System.Data.IDataReader
  12.     Dim sAccion As String
  13.     Friend sSqlReversos, sCodigo As String
  14.    
  15. End Class

Pero ahora ni siquiera me abre el formulario, dandome un error en la variable Conn y diciendo:

Código vb:
Ver original
  1. Excepción no controlada del tipo 'System.InvalidOperationException' en Operaciones Comerciales Banco del ALBA.exeInformación adicional: Error al crear el formulario. Consulte Exception.InnerException para obtener más detalles. Error: Referencia a objeto no establecida como instancia de un objeto.

La verdad no se que sucede. Esta peor la cosa.
  #19 (permalink)  
Antiguo 02/12/2012, 13:33
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Buenas buenas saludos a todos!

Gracias a la ayuda del pana @jhonwilliams aquí les traigo la solución para:

Importar o usar la cadena de conexión a MySQL, establecida en las propiedades del Proyecto (app.config)!

1º Creamos un formulario nuevo que podremos llamar FrmConexion o Conexión. Allí crearemos las variables y demás códigos para hacer uso de nuestro String de conexión.

2º Colocamos este código en "frmConexion"

Código vb:
Ver original
  1. Imports System.Configuration
  2. Imports Operaciones.My.MySettings
  3.  
  4. Public NotInheritable Class frmconexion
  5.  
  6.     Private Shared _cnx As String
  7.     Public Shared Property ConexionMySQL() As String
  8.         Get
  9.             Return My.MySettings.Default.conexionbd 'conexionbd es el nombre q le colocamos a la cadena de conexion!
  10.        End Get
  11.         Private Set(ByVal value As String)
  12.             _cnx = value
  13.         End Set
  14.     End Property
  15.  
  16. End Class

3º Luego de esto, en los demás formularios ya podemos hacer uso de nuestro conexionstring de esta forma:

Código vb:
Ver original
  1. Dim cn As New MySqlConnection(frmconexion.ConexionMySQL)

4º Recuerden abrir la conexión para hacer uso de ella:

Código vb:
Ver original
  1. Dim cn As New MySqlConnection(frmconexion.ConexionMySQL)
  2.                 cn.Open()

5º También debemos hacer uso de la referencia system.configuration

y eso seria todo para hacer uso del app.config y la cadena de conexión establecida en él.

Gracias nuevamente al pana @jhonwilliams y a todos los que ayudaron y se tomaron su tiempo en leer el post y aportar soluciones.

Salu2 gente. Hasta la próxima.

Última edición por edgarherrera; 02/12/2012 a las 13:40
  #20 (permalink)  
Antiguo 02/12/2012, 14:26
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Ingresar registros a tablas diferentes relacionas. VB.Net MySQL

Solo una pequeña correcion, para el primer punto no se crea un formulario, se crea una clase.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)

Etiquetas: mysql, net, registros, sql, tabla, tablas, textbox, vb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:26.