Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

ado.net (de nuevo jaja)

Estas en el tema de ado.net (de nuevo jaja) en el foro de Visual Basic clásico en Foros del Web. Hola a todos de nuevo, bueno como veo que se me complico mucho y por mas que leo, no entiendo casi nada, ya que en ...
  #1 (permalink)  
Antiguo 20/06/2008, 19:33
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
De acuerdo ado.net (de nuevo jaja)

Hola a todos de nuevo, bueno como veo que se me complico mucho y por mas que leo, no entiendo casi nada, ya que en todos lados que veo conecciones realizadas y forma de mostrar datos es distinta una a la otra...

Quisiera saber dos cosas.
1- como conectar a mysql particularmente,
2- conectar a odbc
y trabajar con las ventajas de .net en ambas, Datasets, etc,
SI alguno me pasa algun link de Elguille, les aviso de antemano uqe lo lei todos y no entendi mucjo que digamos, esas dll raras que incorpora no me gustan muchjo que digamos, o sea quisiera saber si hay algo nativo

a odbc me conecto usando adoodb y un recordsetcomo en vb6.( no veo cambio)

me interesaria, saber como realizar consultas, y recojer esos datos, y bueno la tipica, INSERT, UPDATE Y SELECT por ahora

muchas gracias
Saludos a Juanjo si llega a pasar por aca, siempre hace el aguante !
  #2 (permalink)  
Antiguo 21/06/2008, 05:16
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: ado.net (de nuevo jaja)

Saludos Cristián,

Para conectar a MySQL, en este enlace tienes todas las conexiones posibles (incluidas las de .NET)

http://www.connectionstrings.com/?carrier=mysql

Para hacer una conexión ODBC

Nota: Tienes que importar el espacio de nombres "System.Data.Odbc"

Código PHP:
Using con As New OdbcConnection(ConStr)
            
Dim sql As String "SELECT * FROM LaTabla"
            
Dim adapter As New OdbcDataAdapter(sqlcon)
            Try
                
Dim ds As New DataSet
                con
.Open()
                
adapter.Fill(ds)
                
DataGridView1.DataSource ds.Tables(0)
            Catch 
ex As Exception
                MsgBox
(ex.Message)
            
End Try
        
End Using 
Con esto mostamos en un control DataGridView todos los datos de "LaTabla".
(ConStr) es tu cadena de conexión

Y los típicos INSERT, UPDATE... son instrucciones SQL que se utilizan igual que en VB6.

Juanjo
  #3 (permalink)  
Antiguo 25/06/2008, 06:01
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: ado.net (de nuevo jaja)

solo tengo unas dudas.
Como hago para simular lo que antes hacia con el RecordCount y como hago si quiero ir haciendo diferentes consultas? tengo que crear muchos adapter? no hay forma de cerrarlo como el RecordSet y volverlo a abrir en la linea siguiente?

Muchas gracias


PD: YO NO ENTIENDO, COMO HACES!.... PARA QUE TUS RESPUESTAS SEAN TAN SIMPLES Y PODEROSAS!....Leo toda la msdn, el guille.com, leo de aca, leo de alla! ,, y es todo un lio, codigos mezclados que no se saben ni lo que son por poco con funciones que son sacadas de valla dios a saber que dll! y cosas por el estilo!, y vos en 10 renglones das todo a entender
UN MASTER. DEFINITIVAMENTE
Me asombra.
SI podes dar a conocer el origen de tus conocimientos :P no hay drama jaja asi los sigo

Saludos
  #4 (permalink)  
Antiguo 25/06/2008, 06:55
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: ado.net (de nuevo jaja)

Y otra pregunta.
Como hago para agregar otra tabla al dataset?. o sea otra tabla proveniente del dataadapter?

ya que si quiero ir almacenando las tablas ahi, cuando vuelvo a hacer
dataadapter.fill se me sobreescribe
y solo tengo la tables(0) siempre
quiero ir sumando tablas
(1), (2)
gracias
  #5 (permalink)  
Antiguo 25/06/2008, 08:12
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: ado.net (de nuevo jaja)

Bueno, primero un tirón de orejas (jajaja), por no leer las respuestas a tus preguntas

La propiedad RecordCount de VB6 es equivalente a ésta en ADO.NET (tomándola del DataSet una vez cargado con Fill):

ds.Tables(0).Rows.Count

y para cerrar un Adapter para posteriormente volverlo a abrir, la instrucción equivalente a Recordset.Close de VB6, sería:

adapter.Dispose()

En cuanto al resto, no hay ningún secreto: Un poco de conocimiento, estudiar, practicar y divertirse todo lo posible.

Saludos
  #6 (permalink)  
Antiguo 25/06/2008, 09:26
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: ado.net (de nuevo jaja)

Tengo otra pregunta ahora, hasta ahora funciona todo como quiero
Te acordas que en una epoca te pregunte como podia tomar los valores de un campo determinado cuado se presiona en una fila del datagrid?
bueno, como lo puedo hacer aca?

A que te referis con divertirse?...

Saludos
  #7 (permalink)  
Antiguo 25/06/2008, 09:45
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: ado.net (de nuevo jaja)

¿Te refieres a hacer doble click en una celda?, sería algo así:

Private Sub DataGridView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.DoubleClick
MessageBox.Show(DataGridView1.CurrentCell.Value)
End Sub


.. y a lo de divertirse, no sé cómo lo interpretais por allá, pero me refiro a salir con l@s amig@s, a bailar, hacer el botellón, etc, etc..

Saludos
  #8 (permalink)  
Antiguo 25/06/2008, 15:50
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: ado.net (de nuevo jaja)

si, tenes razon, y siempre lo pienso y me lo dicen, y la verdad ajhora uqe lo decis vos voy a empezar a hacerlo, porque siento que me bandeo mucho y que no me hace bien, tanto tiempo en la pc!... me apaciona mucho eso es verdad, pero tengo que poner algunos limites.

y con respecto a lo otro, lo que uqiero hacer es lo mismo que en un entonces te pregunte, pero solo que era en VB6
y era algo asi
Código:
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
MsgBox DataGrid1.Columns(0).Text
End Sub 
solo que ahora lo necesito para .net y me revice todos los controles! y no encuentro ninguno que me funciones!...

es mas o menos como el Adapter.Dispose() (el cual nunca jamas me hubiece dado cuenta que era para hacer lo mismo qeu con .Close() jaja

Saludos!
  #9 (permalink)  
Antiguo 25/06/2008, 22:19
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: ado.net (de nuevo jaja)

Probando un poco y gracias a una pista que me diste vos, de CurrentCell, me fije y existia la CurrentRow y lo probe asi

y funciona, al menos devuelve lo que yo quiero, que al hacer clic me devuelva el valor que se encuentra en La columna 1, de la fila que el usuario precione.
Si conoces alguna mejor forma de hacerlo, te agradeceria.
yo lo hice asi:
Código:
Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles lista.CellClick
        MsgBox(DataGridView1.CurrentRow().Cells(1).Value)
    End Sub
y como quiero que se me pinte de color toda la fila completa (porque solo se pinta la celda en la que haces clic), me invente esta funcion (que da verguenza jeje) pero bueno hago lo que puedo

Código:
For Me.i = 0 To lista.CurrentRow().Cells.Count - 1
            lista.CurrentRow().Cells(i).Selected = True
        Next
que la ejecuto despues de lo anterior =) entonces asi me "Selecciona"(pinta de azulcito) todas las celdas de la fila que yo selecciono
Saludos

Última edición por korg1988; 25/06/2008 a las 22:32
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




La zona horaria es GMT -6. Ahora son las 23:43.