
Almacenar datos en tablas relacionadas
Publicado por natalia (1 intervención) el 16/06/2015 14:45:33
holaa! como estan!?
espero estar en el foro correcto.... le comento que estoy realizando un trabajo en visual basic coin c# y motor de base de datos sql serber management, en mi programa de un videoclub donde debo cargar a una tabla los generos (id_genero(int pk autonumeric),genero varchar 50,descripcion varchar 50) , esta parte me funciona perfecto, el problema surge cuando tengo que dar el alta en la tabla pelicula ,(id_pelicula int pk autonumeric,nombre_pelicula varchar 50, web_pelicula varchar 50, descripcion varchar 50, id_genero int, anio int)
debo mostrar el genero en un combox y realizar la carga (los demas datos los carga perfectamente pero no se como hacer que carge el id del genero porque en el combox me muestra el nombre del genero) aca les paso mi codigo:

debo mostrar el genero en un combox y realizar la carga (los demas datos los carga perfectamente pero no se como hacer que carge el id del genero porque en el combox me muestra el nombre del genero) aca les paso mi codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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 WindowsFormsApplication1
{
public partial class altapeli : Form
{
public altapeli()
{
InitializeComponent();
}
private SqlConnection conexion;
private SqlDataAdapter adaptador;
private DataSet datos;
private void altapeli_Load(object sender, EventArgs e)
{
conexion = new SqlConnection("Data Source=2015-pc;Initial Catalog=administracion;Integrated Security=True");
adaptador = new SqlDataAdapter();
//alta pelis
SqlCommand alta = new SqlCommand("insert into peliculas (nombre_pelicula,web_pelicula,descripcion,id_genero,anio) values (@nombre_pelicula,@web_pelicula,@descripcion,@genero,@anio)", conexion);
adaptador.InsertCommand = alta;
adaptador.InsertCommand.Parameters.Add(new SqlParameter("@nombre_pelicula", SqlDbType.VarChar));
adaptador.InsertCommand.Parameters.Add(new SqlParameter("@web_pelicula", SqlDbType.VarChar));
adaptador.InsertCommand.Parameters.Add(new SqlParameter("@descripcion", SqlDbType.VarChar));
adaptador.InsertCommand.Parameters.Add(new SqlParameter("@genero", SqlDbType.VarChar));
adaptador.InsertCommand.Parameters.Add(new SqlParameter("@anio", SqlDbType.Int));
//mostrar combox pelis en grilla
SqlCommand consulta = new SqlCommand("select nombre_pelicula,web_pelicula,descripcion,id_genero,anio from peliculas", conexion);
adaptador.SelectCommand = consulta;
datos = new DataSet();
conexion.Open();
adaptador.Fill(datos, "peliculas");
conexion.Close();
datapelis.DataSource = datos;
datapelis.DataMember = "peliculas";
// mostrar combox genero
SqlCommand consulta2 = new SqlCommand("select genero,descripcion_genero from generos", conexion);
adaptador.SelectCommand = consulta2;
datos = new DataSet();
adaptador.Fill(datos, "generos");
cb2.DataSource = datos.Tables["generos"];
cb2.DisplayMember = datos.Tables["generos"].Columns["genero"].ToString();
cb2.ValueMember = datos.Tables["generos"].Columns["descripcion_genero"].ToString();
}
private void button1_Click(object sender, EventArgs e)
{
adaptador.InsertCommand.Parameters["@nombre_pelicula"].Value = tn.Text;
adaptador.InsertCommand.Parameters["@web_pelicula"].Value = tw.Text;
adaptador.InsertCommand.Parameters["@descripcion"].Value = td.Text;
adaptador.InsertCommand.Parameters["@genero"].Value = cb2.Text;
adaptador.InsertCommand.Parameters["@anio"].Value = ta.Text;
try
{
conexion.Open();
adaptador.InsertCommand.ExecuteNonQuery();
}
catch (SqlException excepcion)
{
MessageBox.Show(excepcion.ToString());
}
finally
{
conexion.Close();
}
}
}
}
Valora esta pregunta


0