Foros del Web » Programación para mayores de 30 ;) » .NET »

como guardar en el insert las claves foraneas cargadas en losl comboboxs

Estas en el tema de como guardar en el insert las claves foraneas cargadas en losl comboboxs en el foro de .NET en Foros del Web. necesito guardar en la tabla libros la clave foranea de proveedores y editoriales cargadas en los combobox que aparecen en el codigo y me sale ...
  #1 (permalink)  
Antiguo 30/05/2011, 16:06
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 4 meses
Puntos: 10
como guardar en el insert las claves foraneas cargadas en losl comboboxs

necesito guardar en la tabla libros la clave foranea de proveedores y editoriales cargadas en los combobox que aparecen en el codigo

y me sale error de las claves foraneas como debe estar el insert?

Código vb:
Ver original
  1. Private Sub AccionesLibros_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.         myConn = New SqlConnection("Initial Catalog=libroteka;Data Source=localhost;Integrated Security=SSPI;")
  3.  
  4.         myConn.Open()
  5.         myCmd = myConn.CreateCommand
  6.         myCmd.CommandText = "SELECT * FROM editoriales"
  7.      
  8.         adaptor.SelectCommand = myCmd
  9.         adaptor.Fill(dataset)
  10.  
  11.  
  12.         rut_edi.DisplayMember = "nombre_edi"
  13.         rut_edi.ValueMember = "rut_edi"  ' ------------clave foranea
  14.        rut_edi.DataSource = dataset.Tables(0)
  15.  
  16.         myConn.Close()
  17.  
  18.         myConn = New SqlConnection("Initial Catalog=libroteka;Data Source=localhost;Integrated Security=SSPI;")
  19.  
  20.         myConn.Open()
  21.  
  22.         myCmd = myConn.CreateCommand
  23.         myCmd.CommandText = "SELECT * FROM proveedores"
  24.  
  25.  
  26.         adaptorr.SelectCommand = myCmd
  27.         adaptorr.Fill(datasett)
  28.  
  29.  
  30.         rut_pro2.DisplayMember = "nombre_pro"
  31.         rut_pro2.ValueMember = "rut_pro"  '---------clave foranea
  32.        rut_pro2.DataSource = datasett.Tables(0)
  33.    
  34.         myConn.Close()
  35.  
  36.     End Sub
  37.  
  38.    
  39.  
  40.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  41.         Dim NN
  42.  
  43.  
  44.  
  45.         If cod_libro.Text = "" Or nombre_libro.Text = "" Or anio_libro.Text = "" Or autor.Text = "" Or resumen.Text = "" Or categoria.Text = "" Or precio.Text = "" Or rut_pro2.Text = "" Or rut_edi.Text = "" Then
  46.  
  47.  
  48.             NN = MsgBox("Debe ingresar todos los datos.", vbExclamation, "Ingrese los datos.")
  49.         Else
  50.             dataset.Reset()
  51.             myCmd.CommandText = "SELECT * FROM libros WHERE cod_libro ='" & cod_libro.Text & "' "
  52.  
  53.  
  54.             myConn.Open()
  55.             adaptor.SelectCommand = myCmd
  56.             adaptor.Fill(dataset, "0")
  57.  
  58.             Dim count = dataset.Tables(0).Rows.Count
  59.             If count > 0 Then
  60.  
  61.                 MsgBox("libro  ya existe", MsgBoxStyle.Critical)
  62.                 myConn.Close()
  63.  
  64.             End If
  65.             dataset.Reset()
  66.             If count = 0 Then
  67.                 myConn.Close()
  68.                 myConn = New SqlConnection("Initial Catalog=libroteka;Data Source=localhost;Integrated Security=SSPI;")
  69.  
  70.  
  71.                 myCmd = myConn.CreateCommand
  72.                                                           ' ------------como guardar las claves foraneas
  73.                myCmd.CommandText = " INSERT INTO libros VALUES('" & cod_libro.Text & "','" & nombre_libro.Text & "','" & anio_libro.Text & "','" & autor.Text & "','" & resumen.Text & "','" & categoria.Text & "','" & precio.Text & "','" & rut_pro2.SelectedValue & "','" & rut_edi.SelectedValue & "','" & 1 & "')SELECT proveedores.rut_pro, editoriales.rut_edi FROM proveedores, editoriales WHERE proveedores.rut_pro = '" & rut_pro2.SelectedValue & "' AND editoriales.rut_edi = '" & rut_edi.SelectedValue & "' "
  74.  
  75.  
  76.  
  77.                 myConn.Open()
  78.                 myReader = myCmd.ExecuteReader()
  79.                 MsgBox("Se ha ingresado un nuevo Libro", MsgBoxStyle.Information, "Felicidades!!")
  80.  
  81.  
  82.                 myReader.Close()
  83.                 myConn.Close()
  84.             End If
  85.         End If
  86.     End Sub

esta es la base de datos
  #2 (permalink)  
Antiguo 30/05/2011, 16:31
Avatar de edbc92  
Fecha de Ingreso: octubre-2010
Ubicación: Lima - Los Olivos
Mensajes: 93
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: como guardar en el insert las claves foraneas cargadas en losl comboboxs

Tienes 2 pk en tu tabla detalle?
  #3 (permalink)  
Antiguo 30/05/2011, 16:44
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 4 meses
Puntos: 10
Respuesta: como guardar en el insert las claves foraneas cargadas en losl comboboxs

si es una pk compuesta pero ese nos es el caso ,
solo en el codigo de arriba entran la tabla libros, editoriales y proveedores
  #4 (permalink)  
Antiguo 30/05/2011, 17:09
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 4 meses
Puntos: 10
Respuesta: como guardar en el insert las claves foraneas cargadas en losl comboboxs

ya lo solucione , el select estaba demas, y me habia equivocado en las variables de dataset por que se sobreescriibian al ser de la misma variable y simplemente le cambia los nombre de variables de dataset ijjij almenos al postear aqui me abre la mente

Etiquetas: claves, insert, foreignkey
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 14:47.