En este grupo En todos

Grupo de .NET y C



Conexion a base de daton en sql

Joscar
Bachiller en ciencias elias calixto po...
Escrito por Joscar Vera
el 08/12/2008 | Nivel Básico

Estoy creando un proyecto de base de datos. Esta es una cadena de enlace ya mejorado la primera parte de btnGuardar esta bien cumple su funcion que es introducir informacion en un TextBox y la guarda en la base de datos. Pero la segunda parte que es BtnAceptar deberia mostrarme los datos que he guardao en la base de datos en unos Label ese es codigo pero no me muestra nada y no me sale ningun error.

necesito de su ayuda por favor, estoy comenzando a programar y no entiendo mucho, Tambien me gustaria saber el codigo, si escribo en un TextBox del Form1 darle a un boton y me lo muestre en otro TextBox pero de otro Form. Gracias por su Ayuda


Imports
Microsoft. SqlServer

Public Class FrmControl

Private cn As New SqlClient. SqlConnection( "Data Source=. \SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\Joscar Vera\Mis documentos\Visual Studio 2008\Projects\WindowsApplication4\WindowsApplication4\Database1. Mdf;Integrated Security=True;User Instance=True" )

Private Sub btnGuardar_Click( ByVal sender As System. Object, ByVal e As System. EventArgs) Handles btnGuardar. Click

Try

cn. Open()

Dim sql As New SqlClient. SqlCommand( "Insert Into uscon(Usuario,Contraseña) values (' " & txtus. Text & " ' , ' " & txtcon. Text & "')" , cn)


sql. ExecuteNonQuery()

MsgBox( "base de datos completada" )

Catch ex As Exception

MsgBox(ex. Message, MsgBoxStyle. Information)

Finally

cn. Close()

End Try

End Sub

Private Sub btnaceptar_Click( ByVal sender As System. Object, ByVal e As System. EventArgs) Handles btnaceptar. Click

Try

cn. Open()

Dim leer As New SqlClient. SqlCommand( "select * from uscon where usuario = '" & txtus. Text & "' and contraseña = '" & txtcon. Text & "

Jose Peguero
Ing. en sistemas universidad dominican...
Escrito por Jose Peguero
el 09/12/2008 | Nivel Básico

Ese es Todo El codigo del botton btnaceptar?
En primer lugar ese command no va a traer ningun resultado por que esta mal estructurado,
Segundo no estas asignando el resultado en ningun lugar

Confirma en la base de datos de que por los menos estas guardando los datos, de lo contrario debes rebisar ese codigo del botton guardar.

<-------Ejemplo para leer los datos guardados a travez del botton Aceptar------->

Dim leer as new SqlClient. SqlCommand("Select * from uscon where usuario = " + & txtus. Text & + "and contraseña = " + & txtcon. Text &)

Dim da As New SqlDataAdapter ( sql, thisConnection )
da. Fill ( DataSet1, " uscon " )


------Si vas a mostrar el resultado en un label ----

Label1.DataBindings.Add ( "text" , DataSet1, " uscon . Elcampo")

Oscar Mauricio Dominguez Giraldo
Ingenieria de sistemas universidad coo...
Escrito por Oscar Mauricio Dominguez Giraldo
el 09/12/2008 | Nivel Básico

Men para mostrar datos no se utiliza un command se utiliza un dataset y un dataadapter... El coman es para insertar,actualizar y borrar NO para mostrar recuerdalo

Isabel Meya
Informatica facultad de ciencias
Escrito por Isabel Meya
el 10/12/2008 | Nivel Básico



Hola Joscar: preguntas, "Si escribo en un TextBox del Form1 darle a un boton y me lo muestre en otro TextBox pero de otro Form."
Tienes muchas formas de hacerlo, una de ellas sería:

Private
Sub Button1_Click( ByVal sender As System. Object, ByVal e As System. EventArgs) Handles Button1. Click

Form2.TextBox1.Text = TextBox1. Text

Form2. Show()



End

Sub

Saludos

Isabel Meya
Informatica facultad de ciencias
Escrito por Isabel Meya
el 10/12/2008 | Nivel Básico

Hola Joscar: preguntas, "si escribo en un TextBox del Form1 darle a un boton y me lo muestre en otro TextBox pero de otro Form".
Tienes varias formas para hacerlo, una de ellas sería:

Private Sub Button1_Click( ByVal sender As System. Object, ByVal e As System. EventArgs) Handles Button1. Click

Form2.TextBox1.Text = TextBox1. Text

Form2. Show()


End Sub

Saludos

Isabel Meya
Informatica facultad de ciencias
Escrito por Isabel Meya
el 10/12/2008 | Nivel Básico

Hola Joscar: preguntas, "si escribo en un TextBox del Form1 darle a un boton y me lo muestre en otro TextBox pero de otro Form".
Tienes varias formas para hacerlo, una de ellas sería:

Private Sub ClicAceptar(ByVal sender As..... ) Handles BtnAceptar. Click
Form2.TextBox1.Text = TextBox1. Text
Form2. Show()
End Sub

Saludos

Isabel Meya
Informatica facultad de ciencias
Escrito por Isabel Meya
el 10/12/2008 | Nivel Básico

Hola Joscar: preguntas, "si escribo en un TextBox del Form1 darle a un boton y me lo muestre en otro TextBox pero de otro Form".
Tienes varias formas para hacerlo, una de ellas sería:

Private Sub ClicAceptar(ByVal sender As..... ) Handles BtnAceptar. Click
Form2.TextBox1.Text = TextBox1. Text
Form2. Show()
End Sub

Saludos

Francisco González
Tecnologo en analisis de sistemas, ing...
Escrito por Francisco González
el 17/12/2008 | Nivel Básico

Q tal foro, en lo personal no realizo las conexiones por codigo, lo q yo suelo hacer es crear un archivo. Config en mi aplicacion y coloca lo siguiente



<? Xml version="1. 0" encoding="utf-8"? >
<configuration>
<! --<system.windows.forms jitDebugging="true"/>-->
<configSections>
</configSections>
<connectionStrings>
<add name="IngresosCS" connectionString="Data Source=. \SQLEXPRESS;Initial Catalog=Ingresos; Integrated Security=true"
providerName="System.Data.SqlClient" />
<add name="Ingresos.Properties.Settings. IngresosCS" connectionString="Data Source=. \SQLEXPRESS;Initial Catalog=Ingresos;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>

Asi en una clase denominada conexDB se debe realizar la apertura de la conexion de la bdd y luego cerrarla, esta clase es para la ejecucion de store procedure en SQL Express, por cierto el punto (. ) antes de. \SQLEXPRESS, coje por defecto el nombre de la maquina local, si quieres q sea en red deberas colocar el nombre de l maquina o la direccion IP

Daniel
México
Escrito por Daniel
el 22/12/2008 | Nivel Básico

Sdf

Erik Lopez
Ingeniero de sistemas bogota d.c
Escrito por Erik Lopez
el 23/12/2008 | Nivel Básico

Ok joscar vera primero que todo utiliza los namespace para que te rinda mas escribir tu codigo osea enves de imports microsoft. SqlServer importa los namespace System. Data y System.Data.SqlClient
y en cuanto a la ubicacion de la cadena de conexion no es seguro dejarla como tu la pusiste es mejor dentro de un archivo app. Config para el caso de windows form y para web form en un archivo web. Config aunque si se puede dejar como la tienes, tu veras si nesecitas seguridad para el proyecto. Para poner la cadena de conexion en el archivo. Config te puedes guiar con lo que posteo francisco y en esta parte te quedaria asi:
<connectionStrings>
<add name="Nombre_del_proyecto.My.MySettings. Nombre_para_ingresar_desde_codigo" connectionString="Data Source=. \SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\Joscar Vera\Mis documentos\Visual Studio 2008\Projects\WindowsApplication4\WindowsApplication4\Database1. Mdf;Integrated Security=True;User Instance=True" ProviderName="System.Data.SqlClient" />
</conenectionStrings>

y para ingresar desde codigo VB pones:

Dim cadena As string
cadena=My.Settings.Nombre_para_ingresar_desde_codigo
Dim con As New SqlConnection(cadena)

Este seria el codigo para el evento click del boton guardar con la cadena de conexion en el archivo. Config:

Try

Dim cadena As string
cadena=My.Settings.Nombre_para_ingresar_desde_codigo
Dim con As New SqlConnection(cadena)

Dim cmd As New SqlCommand( "Insert Into uscon(Usuario,Contraseña) values ('" & txtus.Text.Trim & " ' , ' " & txtcon.Text.Trim & "')",con)

con. Open()
cmd. ExecuteNonQuery()

messageBox. Show("Datos insertados")

catch(ex as Exception)

messageBox. Show(ex. Message)

End Try

Y este seria el evento clic del boton aceptar para mostrar los datos insertados en labels:

Try

Dim cadena As String
cadena =My.Settings.prubasAdo_netConnectionString
Dim con As New SqlConnection(cadena)
Dim comando As String
comando =string. Format("select Usuario,Contraseña from uscon where Usuario='{0}' and Contraseña='{1}'",txtus.Text.Trim ,txtcon.Text.Trim)

Dim cmd As New SqlCommand(comando, con)

Dim reader As SqlDataReader

Con. Open()

Reader = cmd. ExecuteReader

If reader. HasRows Then
reader. Read()
nombrelabel. Text = reader("Usuario"). ToString()
nombrelabel1. Text = reader("Contraseña"). ToString()
Else
nombrelabel. Text = "No existe"
nombrelabel1. Text = "No existe"
End If

Con. Close()
Catch ex As Exception
MessageBox. Show(ex. Message)
End Try

Oscar Zumaran Maceda
Ing. de sistemas universidad privada d...
Escrito por Oscar Zumaran Maceda
el 24/12/2008 | Nivel Básico

Hola! Coincido con jose bueno en verdad... En parte porke si kisiera mostrar un solo registro es mejor sar un datareader.. El sqldataadapter muy bueno pero la diferencia es esta(tremenda) un dataadaprte es como un camion ke trae la info de la BD para llenarla en un contenedor (en el ejemplo de jose un DATASET) ke puede ser un datatable o un dataset ke es un conjutno de datatables simulando ser una BD virtual, en fin... Por otro lado el datareader puede traer informacion pero de una manera mas rapida ya ke lo hace registro por registro.
Como tu consulta esta filtrada y devolvera un solo registro con muchso campos o sugiero ke sea con un datareader y seria asi:

Imports system.data.sqlclient ' sufieicne con esta importacion =)
'en el clic del button
dim dc as new sqlcomand
with dc
dc. CommandText="consulta SQL"
dc. CommandType=text
dc. Connection=conex
end with
conex. Open
dim dr as sqldatareader=dc. Executereader
do while dr. Read
label1. Text=dr(0). Tostring ' ese cero en el indice de la columna del campo ke kieres mostrar
loop
conex. Close 'cerrar la coneccion
dr. Close ' cerrar el datareader
dc. Dispose 'limpiar en dc para ke no coupe bytes en ram

si kisieras traer mas campos lo puedes seguri haciendo con reader o mejor uan con el dataadapter como te lo explico Jose.

suerte!

Lalis Gomez
Bogotá, Colombia
Escrito por Lalis Gomez
el 07/08/2010 | Nivel Básico