Visual Basic.NET - Que esta mal aqui?? (Codigo)

 
Vista:

Que esta mal aqui?? (Codigo)

Publicado por carlos ignacio (25 intervenciones) el 17/01/2006 23:36:01
hola como estan, me encuentro aprendiendo VB.Net por lo que he escrito un codigo y me da errores por todos lados, por lo que acudo a ver si puede alguien ayudarme a saber que sobra, falta o esta mal en el siguiente codigo:

REFERENCIA:
Imports System.Data.SqlClient

VARIABLES:
Public MiConex As New SqlConnection
Public MiDataSet As New DataSet
Public MiAdaptador As New SqlDataAdapter("SELECT * FROM TR_TLF", MiConex)

EN EL LOAD DEL FORM:
MiConex = New SqlConnection
MiConex.ConnectionString = "Server=(local);Database=BDTLF;uid=sa;pwd;"
MiDataSet = New DataSet
MiAdaptador.Fill(MiDataSet, "TR_TLF")

Me da error en el ConnectionString, como podria conectarme a la BD la cual es SQL Server.

En caso de ya haber llenado el DataSet con la propiedad Fill del Adapter, como se usa el DataRow o DataTable para meter algunos datos en una tabla, en mi caso TR_TLF??

Esto ultimo me interesa mucho porque es precisamente en lo que he estado en dias tratando de hacer, meter datos de unos Textbox a la tabla de la bd sql server :(

bueno muchas gracias por quien me pueda aportar el tips de ayuda, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Que esta mal aqui?? (Codigo)

Publicado por thessen (298 intervenciones) el 19/01/2006 09:44:31
Bien, vamos por partes:
1. La cadena de conexión para SQLServer es del tipo :
"Data Source=TuServidor;Initial Catalog=NombreBD;User Id=usuario;Password=contraseña;"
Si tienes alguna duda sobre cadenas de conexión, puedes consultar la página www.connectionstrings.com

2. Para actualizar datos de una tabla:
- Para recuperar datos de la tabla:
MiDataSet.Tables (nombreDeLaTabla).Rows (IndiceFila) (nombreColumna)
- Para modificar datos de la tabla:
MiDataSet.Tables (nombreDeLaTabla).Rows (indiceFila) (nombreColumna) = valor
- Para crear un nuevo registro:
Dim dr as DataRow = MiDataSet.Tables (nombreDeLaTabla).NewRow

dr (nombreColumna1) = valor
dr (nombreColumna2) = valor
dr (nombreColumna3) = valor
...

MiDataSet.Tables(nombreDeLaTabla).Rows.Add (dr)

- Para volcar los datos a la Base de Datos :
MiAdaptador.Update (MiDataSet) ' Si quieres volcar todo el dataset
MiAdaptador.Update (MiDataSet.Tables (nombreDeLaTabla)) ' Si quieres volcar solo un datatable

MiDataSet.Tables (nombreDeLaTabla).AcceptChanges

Espero que esto te ayude... Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Que esta mal aqui?? (Codigo)

Publicado por carlos ignacio (25 intervenciones) el 20/01/2006 18:12:37
muchas gracias cesar, enseguida revisare y adaptare las especificaciones de codigo que me has dado y comento como me fue...

muchas gracias compadre :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Que esta mal aqui?? (Codigo)

Publicado por carlos ignacio (25 intervenciones) el 20/01/2006 20:28:28
hola, esteeee... bueno, yo puse esto de la siguiente forma echen un ojo vean:

REFERENCIA:
Imports System.Data.SqlClient

VARIABLES:
Public MiConex As New SqlConnection
Public MiDataSet As New DataSet
Public MiAdaptador As New SqlDataAdapter("SELECT * FROM TR_TLF", MiConex)

LA CONEXION:
MiConex = New SqlConnection
MiConex.ConnectionString = "Data Source=(local);Initial Catalog=BDTLF;User Id=sa;Password=;"
MiConex.Open()
MiDataSet = New DataSet
'MiAdaptador.Fill(MiDataSet, "TR_TLF") -> esto esta en comentario, ya que dio error.

GUARDANDO EL PRIMER REGISTRO DE LA TABLA:
Dim dr As DataRow = MiDataSet.Tables("TR_TLF").NewRow

dr("TxtNomb") = TxtNomb.Text
dr("TxtNombre") = TxtNombre.Text
dr("TxtTelefCel") = TxtCel.Text
dr("TxtTelefHab") = TxtHab.Text
dr("TxtTelefTrab") = TxtTrab.Text
dr("TxtFax") = TxtFax.Text
dr("TxtDireccion") = TxtDireccion.Text
MiDataSet.Tables("TR_TLF").Rows.Add(dr)
'Guardando en la BD:
MiAdaptador.Update(MiDataSet)
MiDataSet.Tables("TR_TLF").AcceptChanges()
MiConex.Close()
MessageBox.Show("Registro Guardado")

Esto no es ningun proyecto o programa que necesite ahora o que alguien me halla pedido el favor de hacerle, sino que me encuentro en mi inicio de pasar de VB6 al .NET y asi como una vez comence en el BV6 con algo sencillo, aqui igual, una Agendita de Telefonos, la idea aqui no es tanto eso, sino el conocer las operaciones de registros en algo con pocos campos y ya luego de ahi en adelante cosas con más campos y algo más de código.

No da errores al conectar, suponiendo que si lo esté, pero al intentar guardar, produce un error y cae en la declaracion del DataRow es decir, produce un error en:
Dim dr As DataRow = MiDataSet.Tables("TR_TLF").NewRow

Sé que me indicaste unos codigos antes de esto, pero no puedo cargar el DataSet porque no hay datos, este es el primer registro a ingresar, y la tabla esta vacia.

Le seguire aqui revisando bien el codigo a ver que falta, sobra o que esta de lleno mal en todo este codigo.

gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Que esta mal aqui?? (Codigo)

Publicado por thessen (298 intervenciones) el 23/01/2006 11:47:23
Dices que te da un error en la línea

'MiAdaptador.Fill(MiDataSet, "TR_TLF")

podrías indicar que error te da exactamente? de todas formas, prueba a cambiar el orden de tu codigo, de tal manera que crees la conexión completa y luego el adaptador, por ejemplo :

REFERENCIA:
Imports System.Data.SqlClient

VARIABLES:
Public MiConex As SqlConnection
Public MiDataSet As DataSet
Public MiAdaptador As New SqlDataAdapter("SELECT * FROM TR_TLF", MiConex)

LA CONEXION:
MiConex = New SqlConnection
MiConex.ConnectionString = "Data Source=(local);Initial Catalog=BDTLF;User Id=sa;Password=;"

MiAdaptador = New SqlDataAdapter ("SELECT * FROM TR_TLF",MiConex)
MiDataSet = New DataSet ("NombreDataSet")

MiConex.Open()
MiAdaptador.Fill(MiDataSet, "TR_TLF")

...

Y el otro error que te da... en la línea Dim dr As DataRow = MiDataSet.Tables("TR_TLF").NewRow se debe a que has omitido la línea de MiAdaptador.Fill... por lo que en tu dataset no existe un datatable llamado TR_TLF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar