elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Conexion Sql Express con programa hecho en C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Conexion Sql Express con programa hecho en C#  (Leído 7,596 veces)
lince_0011

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Conexion Sql Express con programa hecho en C#
« en: 9 Diciembre 2009, 03:05 am »

Saludos amigos..
Pues veran hoy en la universidad me encargaron hacer un proyecto en C# y en modo ventanas, tambien crear una base de datos en Sql y esta misma conectarla a C#. Ya tengo todo creado el programa en C# y la base de datos creada en Sql, ya la conecte, pero me sale un pequeño error el cual no se como arreglar.


Si alguien me puede ayudar a solucionar mi problemita estare muy agradecido.

Chequen el dato, el codigo del programa junto para conectar con la base es el siguiente

Código:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace baseproyecto
{
    public partial class Form1 : Form
    {
        public String conStr = "Data Source=.\\Sqlexpress; Initial Catalog=video;Integrated Security=true";
        public SqlConnection myCon = new SqlConnection();
        public SqlCommand myComm = new SqlCommand();
        public SqlDataAdapter myAdapter = new SqlDataAdapter();
        public String nombre, telefono, correo,direccion,ciudad;
        public int ID, i;
       

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            ID = int.Parse(textBox1.Text);
            myCon.ConnectionString = conStr;
            myComm.CommandText = "Select nombre,telefono,correo,direccion,ciudad From cliente Where id_cliente ='" + ID + "' ";
            myComm.Connection = myCon;
            myAdapter.SelectCommand = myComm;
            DataSet myds = new DataSet();
            int numrows = myAdapter.Fill(myds, "video");
            if (numrows > 0)
            {
                textBox2.Text = myds.Tables["cliente"].Rows[0]["nombre"].ToString();
                textBox3.Text = myds.Tables["cliente"].Rows[0]["telefono"].ToString();
                textBox4.Text = myds.Tables["cliente"].Rows[0]["correo"].ToString();
                textBox5.Text = myds.Tables["cliente"].Rows[0]["direccion"].ToString();
                textBox6.Text = myds.Tables["cliente"].Rows[0]["ciudad"].ToString();
            }
            myCon.Close();
           
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //creamos el objeto de la conexion
            SqlConnection mycon = new SqlConnection();
            //asignamos la cadena de la conexion
            mycon.ConnectionString = "Data source=.\\SqlExpress;initial catalog=video;" + "integrated security=true";
            //creamos un objeto de tipo comando
            SqlCommand mycommand = new SqlCommand();
            //asignamos consulta
            mycommand.CommandText = "select*from cliente";
            //conectamos el comando con la conexion a la base de datos
            mycommand.Connection = mycon;
            //creamos el adaptador para traer informacion de la base de datos
            SqlDataAdapter myAdapter = new SqlDataAdapter();
            myAdapter.SelectCommand = mycommand;
            //creamos un dataset para crear una imagen de la base de datos
            DataSet myds = new DataSet();
            //rellenamos el adaptador con la tabla a utilizar
            myAdapter.Fill(myds,"video");
            dataGridView1.DataSource = myds;
            dataGridView1.DataMember = "video";
        }

        private void button2_Click(object sender, EventArgs e)
        {
            ID = int.Parse(textBox1.Text);
            nombre = textBox2.Text;
            telefono = textBox3.Text;
            correo = textBox4.Text;
            direccion = textBox5.Text;
            ciudad = textBox6.Text;
            myCon.ConnectionString = conStr;
            myComm.CommandText = "UPDATE cliente SET Nombre='" + nombre + "',Telefono='" + telefono + "',"
                                 + "correo='" + correo + "',direccion='" + direccion+ "',ciudad='"+ciudad+" 'WHERE Id_cliente= '" + ID + "'";
            myComm.Connection = myCon;
            myCon.Open();
            i= myComm.ExecuteNonQuery();
            myCon.Close();
           
        }

        private void button3_Click(object sender, EventArgs e)
        {
            string ConStr;
            int ID;
            ID = int.Parse(textBox1.Text);
            ConStr = "Data Source =.\\Sqlexpress; Initial catalog=video; integrated security=true";
                SqlConnection mycon=new SqlConnection();
            mycon.ConnectionString=ConStr;
            SqlCommand mycommand=new SqlCommand();
            mycommand.CommandText="Delete from cliente where id_cliente='" +ID+ " '";
            mycommand.Connection=mycon;
            mycon.Open();
            int i=mycommand.ExecuteNonQuery();
            mycon.Close();

        }

        private void button4_Click(object sender, EventArgs e)
        {
            nombre = textBox2.Text;
            telefono = textBox5.Text;
            correo = textBox4.Text;
            direccion = textBox3.Text;
            ciudad = textBox6.Text;
            myCon.ConnectionString = conStr;
            myComm.CommandText = "INSERT INTO cliente(Nombre,Telefono,correo,direccion,ciudad)"
            + " VALUES (' " + nombre + " ',' " + telefono + " ',' " + correo + " ','" + direccion + " ',' " + ciudad + " ')";
            myComm.Connection = myCon;
            myCon.Open();
            i = myComm.ExecuteNonQuery();
            myCon.Close();
        }

        private void textBox4_TextChanged(object sender, EventArgs e)
        {

        }

        private void but_cargar_Click(object sender, EventArgs e)
        {
            myCon.ConnectionString = conStr;
            myComm.CommandText = "Select * From cliente";
            myComm.Connection = myCon;
            myAdapter.SelectCommand = myComm;
            DataSet myds = new DataSet();
            myAdapter.Fill(myds, "cliente");
            dataGridView1.DataSource = myds;
            dataGridView1.DataMember = "cliente";

        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            ID = int.Parse(textBox1.Text);
            myCon.ConnectionString = conStr;
            myComm.CommandText = "Select nombre,direccion,telefono,correo,ciudad From cliente Where id_cliente ='" + ID + "'";
            myComm.Connection = myCon;
            myAdapter.SelectCommand = myComm;
            DataSet myds = new DataSet();
            int numrows = myAdapter.Fill(myds, "cliente");
            if (numrows > 0)
            {
                textBox2.Text = myds.Tables["cliente"].Rows[0]["nombre"].ToString();
                textBox3.Text = myds.Tables["cliente"].Rows[0]["direccion"].ToString();
                textBox4.Text = myds.Tables["cliente"].Rows[0]["telefono"].ToString();
                textBox5.Text = myds.Tables["cliente"].Rows[0]["correo"].ToString();
                textBox6.Text = myds.Tables["cliente"].Rows[0]["ciudad"].ToString();
            }
            myCon.Close();

        }

       
    }
}

Script de la base:

Código:
create database video
create table dbo.cliente(
id_cliente int primary key not null identity,
nombre nvarchar (50)not null,
direccion nvarchar (50)not null,
telefono nchar (15)not null,
correo nvarchar (50)not null,
ciudad nvarchar (50)not null)

create table dbo.pelicula(
id_pelicula int primary key not null,
nombre nvarchar(50)not null,
clasificacion nvarchar(50)not null)

create table dbo.renta(
id_cliente int not null,
id_pelicula int not null,
fecha_renta smalldatetime not null)

create table dbo.entrega(
id_cliente int not null,
id_pelicula int not null,
fecha_entrega smalldatetime not null)

create table dbo. descuentos(
id_descuento int primary key not null,
id_cliente int not null,
tipo_descuento nvarchar(50) not null)


insert into cliente values ('Manuel Gutierrez Frescas','calle carrizal del norte #5346','6142178599','menny@hotmail.com','chihuahua')
insert into cliente values ('Vianney Dominguez Acevedo','portugal#5786','6144205746','vyda_@hotmail.com','chihuahua')
insert into cliente values ('Rosa Maria Zaragoza Chacon','Hacienda del Rey','6142190832','ch@hotmail.com','chihuahua')
insert into cliente values ('Perla Siqueiros Gracia','Calle Tepochcalli #6238','6144340647','perlisky@hotmail','Chihuahua')
insert into cliente values ('Janeth Grano Mendoza','Calle de la Rosa #5531','6144194563','lajaneth@hotmail.com','chihuahua')
 select *from cliente
insert into pelicula values('8234','Luna Nueva','Terror')
insert into pelicula values ('5467','Monster Inc','Infantil')
insert into pelicula values ('9516','chucky','Terror')
insert into pelicula values ('1426','Diario de una pasion','Romance')
insert into pelicula values ('0999','lluvia de Hamburguesas','Infantil')
select*from pelicula
insert into renta values ('2','9516','9-12-09')
insert into renta values ('5','8234','11-12-09')
insert into renta values ('1','1426','12-12-09')
insert into renta values ('3','5467','15-12-09')
insert into renta values ('4','0999','17-12-09')

select*from renta

insert into entrega values ('2','9516','11-12-09')
insert into entrega values ('5','8234','13-12-09')
insert into entrega values ('3','1426','15-12-09')
insert into entrega values ('4','5467','17-12-09')
insert into entrega values ('1','0999','19-12-09')
select * from entrega

insert into descuentos values ('555','3','25%')
insert into descuentos values ('267','2','15%')
insert into descuentos values ('333','1','20%')
insert into descuentos values ('231','4','5%')
insert into descuentos values ('429','5','30%')

PD: Cada uno de esos datos los invente.

Ahora cuando intento correr el programa me tira un mensaje el cual dice No se controlo SqlException y El nombre de objeto 'cliente' no es válido.,

Y obviamente el programa no corre.
Que podre hacer o que tengo que hacer para solucionar ese problemilla.

Saludos


En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Conexion Sql Express con programa hecho en C#
« Respuesta #1 en: 9 Diciembre 2009, 03:49 am »

Hola, a mi me funciona bien no me tira ningun error y me carga los registros en el datagridview...admito que ejecute el script de creacion de la base de datos y tiro varios errores, pero las tablas las creo bien y le agrege unos datos de prueba manualmente a la tabla "cliente", pero despues el codigo me andubo bien, ese error solo me hace pensar que no tenes creda la tabla de "cliente" en la base de datos "video", fijate eso , anda al SQL Server managamente studio y fijate lo que tenes ahi...

saludos.


En línea

lince_0011

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Conexion Sql Express con programa hecho en C#
« Respuesta #2 en: 9 Diciembre 2009, 04:03 am »

Lo mas raro es que si tengo creada cada una de las tablas incluyendo la de cliente.

Yo corri el script de la base y funcion perfecto. No me marco ningun error. Tampoco me marco error usando el comando Inser into.

Saludos
En línea

lince_0011

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Conexion Sql Express con programa hecho en C#
« Respuesta #3 en: 9 Diciembre 2009, 04:08 am »

 ;D

Tenia el error a plena vista y no me di cuenta  ;D

En mi codigo de programacion lo tenia como clientes y aqui en el foro pegue el codigo e identifique que le habia puesto la letra s demas al codigo, pero no pense en cambiarlo en mi codigo jajaja..
En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Conexion Sql Express con programa hecho en C#
« Respuesta #4 en: 9 Diciembre 2009, 19:03 pm »

Amigo Lince,

Unas recomendaciones, espero no se me olvide ninguna, jeje ;D

1) el proceso de traer data, conectarte, etc, siempre dentro de un try. y SIEMPRE cierra las conexiones en el finaly..

2) En las consultas trata de limpiar la entrada de datos, y para que no puedan ejecutar codigo arbitrario.

3) O si prefierees, mejor aun, utiliza Stored Procedures, en vez de text queries.. De esta forma le agregas seguridad y velocidad al proyecto.

Mucha exito en la universidad..!  :P

En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Conexion Sql Express con programa hecho en C#
« Respuesta #5 en: 10 Diciembre 2009, 00:09 am »

si bueno sobre el codigo ni opine, simplemente me limite a responder porque podria ser el problema, pero como consejo tambien te dijo que en estos casos de bases de datos, es mejor hacer clases para poner ahi las conexiones y todo lo que tengas que hacer (INSERTS ,UPDATE...etc..).

saludos.
En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Conexion Sql Express con programa hecho en C#
« Respuesta #6 en: 10 Diciembre 2009, 01:27 am »

Exacto, una clase de conexión es mucho mejor.. y Si haces un modelo de componentes mejor aún!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Mensajero 1.0 [Programa Hecho Por Mi]
.NET (C#, VB.NET, ASP)
NESTicle 8Bit 5 5,179 Último mensaje 11 Septiembre 2011, 22:07 pm
por Keyen Night
Conexion entre usuarios e instalador para .net express
.NET (C#, VB.NET, ASP)
Atemu 2 2,491 Último mensaje 29 Mayo 2013, 21:04 pm
por El Benjo
Programa hecho en phyton .py
Scripting
Rnovatis 2 2,788 Último mensaje 28 Mayo 2017, 02:36 am
por LaThortilla (Effort)
Error en MongoDB y conexion con Express
Desarrollo Web
Ali Baba 0 1,867 Último mensaje 12 Junio 2017, 16:43 pm
por Ali Baba
Por que motivos se cierra un programa con sockets hecho en C?
Programación C/C++
AlbertoBSD 7 3,915 Último mensaje 3 Agosto 2020, 19:23 pm
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines