Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/06/2011, 12:29
cayu2008
 
Fecha de Ingreso: junio-2011
Ubicación: chile
Mensajes: 5
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: procedure java y sql

tabla 1 :Ciudad :id_ciudad(pk), nombre_ciudad, id_region(FK)

tabla 2: Region :id_region(pk), nombre_region


Lo que quiero hacer es insertar en ciudad el id_region , pero desde el combobox se seleciona el nombre de la region .
Gracias.... de antemano



pedaso de codigo en java

Código:
public void actionPerformed(ActionEvent e)
    {
        if(e.getSource()==insertarC)
        {
            // CREANDO LA VARIABLE DE CONECCION
            String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
            "databaseName=prueba_1;user=sa;password=1234";

            // DECLARANDO LOS OBJETOS JDBC
            Connection con = null;
            PreparedStatement insertar = null;
            ResultSet rs = null;
            try
            {
                // ESTABLECIENDO LA CONECCION
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                con = DriverManager.getConnection(connectionUrl);
                JOptionPane.showMessageDialog(null,"-- lograstes la coneccion  --");
                // CREANDO Y EJECUTANDO SENTENCIAS SQL.
                if (null == insertar)
                {
                    insertar = con.prepareStatement("INSERT INTO ciudad(id_ciudad,nombre_ciudad,id_region) VALUES (?,?,?)");
                }
                insertar.setString(1,txtIc.getText());
                insertar.setString(2,txtNc.getText());
                insertar.setString(3,(String)region.getSelectedItem());//combobox                
                insertar.executeUpdate();

                con.close();         
            }
            catch (Exception x)
            {
                    x.printStackTrace();
            }
            finally
            {
                    if (rs != null) try { rs.close(); } catch(Exception x) {}
                    if (insertar != null) try { insertar.close(); } catch(Exception x) {}
                    if (con != null) try { con.close(); } catch(Exception x) {}
            }

procedimiento en el sql server 2005

Código:
CREATE PROCEDURE insertarCiudad
@id_ciudad varchar(5),
@nombre_ciudad varchar(20),
@nombre_region varchar(20)
as
declare @id_region varchar(5)
SELECT @id_region = id_region from region where nombre_region=@nombre_region
INSERT into ciudad (id_ciudad,nombre_ciudad,id_region)
values (@id_ciudad,@nombre_ciudad,@id_region)

EXECUTE insertarCiudad