Foros del Web » Programando para Internet » ASPX (.net) »

[SOLUCIONADO] Insertar datos en dos tablas

Estas en el tema de Insertar datos en dos tablas en el foro de ASPX (.net) en Foros del Web. Buenas tardes, Venia a ustedes con una duda si no es mucha molestia: tengo este programa con varias tablas, una parte ingresa un a una ...
  #1 (permalink)  
Antiguo 07/11/2015, 07:04
 
Fecha de Ingreso: julio-2014
Mensajes: 116
Antigüedad: 9 años, 9 meses
Puntos: 1
Insertar datos en dos tablas

Buenas tardes, Venia a ustedes con una duda si no es mucha molestia: tengo este programa con varias tablas, una parte ingresa un a una tabla llamada "Alumno"
con este codigo:


Archivo conexion
Código ASP:
Ver original
  1. SqlConnection conn;
  2.     SqlCommand comando;
  3.     public Conexion()
  4.     {
  5.     conn = new SqlConnection("Data Source=PORTATIL-PC;Initial Catalog=instituto;Persist Security Info=True;User ID=sa;Password=123456");
  6.  
  7.        
  8.     }
  9.  
  10.  
  11.  
  12.  //inserta alumno
  13.     public int insert(String rut, String nombre, String apellido, String fechanac)
  14.     {
  15.         comando = new SqlCommand("insert into Alumno values('" + rut + "','" + nombre + "','" + apellido + "','" + fechanac + "')", conn);
  16.         return comando.ExecuteNonQuery();

Codigo que inserta en base de datos (Tabla alumno) tomando datos desde un formulario
Código ASP:
Ver original
  1. public partial class InsertAlu : System.Web.UI.Page
  2. {
  3.     protected void Page_Load(object sender, EventArgs e)
  4.     {
  5.         String rut = Request["TextBox1"];
  6.         String nombre = Request["TextBox2"];
  7.         String apellido = Request["TextBox3"];
  8.         String fechanac = Request["TextBox4"];
  9.         Conexion con = new Conexion();
  10.         con.conectar();
  11.         try
  12.         {
  13.             if (con.insert(rut, nombre, apellido, fechanac) > 0)
  14.             {
  15.                 Response.Write("<center><h2>Registrado Alumno nuevo</h2></center>");
  16.             }
  17.             else
  18.             {
  19.                 Response.Write("<center><h2>Error, no registrado</h2></center>");
  20.             }
  21.         }
  22.         catch (SqlException ex)
  23.         {
  24.             Response.Write("<center><h2>Alumno duplicado o caja vacia</h2></center> <br/>" + ex.Message + "</center>");
  25.  
  26.         }
  27.  
  28.  
  29.         con.desconectar();
  30.     }
  31. }

, lo que me gustaria lograr es que al procesarlo tambien inserte en un a tabla de "usuario" con una contraseña para usarse como login, la contraseña es generica para todos los que seran usuarios, ya que despues podra cambiarla.
por su tiempo gracias.
  #2 (permalink)  
Antiguo 10/11/2015, 07:20
 
Fecha de Ingreso: agosto-2010
Mensajes: 126
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: Insertar datos en dos tablas

Hola, tu pregunta debería estar en los temas de SQL, pero bueno..
Dbees de trabajar con procedimientos almacenados, entonces se resolvería así.

Código SQL:
Ver original
  1. CREATE PROCEDURE InsertarAlumno
  2. @rut INT,
  3. @nombre VARCHAR(50),
  4. @apellido VARCHAR(50),
  5. @fechanac DATE
  6. AS
  7. BEGIN
  8.     INSERT INTO Alumno VALUES(@rut, @nombre, @apellido, @fechanac)
  9.     /*Login_Alumno -> Usauario, Pass*/
  10.     INSERT INT Login_Alumno VALUES (@rut, @rut)
  11. END
  12. GO

Entonces debes de validar en la tabla Login_Alumno sí if(rut=rut) si es true, significa que es la primera vez que el usuario ingresa al sistema por lo tanto le abligas a cambiar la contraseña
  #3 (permalink)  
Antiguo 01/12/2015, 19:20
 
Fecha de Ingreso: julio-2014
Mensajes: 116
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: Insertar datos en dos tablas

mmm de hecho la idea es hacerlo desde el programa y lo logre, lo comparto por si alguien quiere usarlo

Código ASP:
Ver original
  1. protected void Page_Load(object sender, EventArgs e)
  2.     {
  3.         String rut = Request["TextBox1"];
  4.         String nombre = Request["TextBox2"];
  5.         String apellido = Request["TextBox3"];
  6.         String fechanac = Request["TextBox4"];
  7.         Conexion con = new Conexion();
  8.         con.conectar();
  9.         try
  10.         {
  11.             if (con.insert(rut, nombre, apellido, fechanac) > 0)
  12.             {
  13.                 con.insertU(rut);
  14.                 Response.Write("<center><h2>Registrado Alumno/Usuario nuevo</h2></center>");
  15.             }
  16.             else
  17.             {
  18.                 Response.Write("<center><h2>Error, no registrado</h2></center>");
  19.             }
  20.         }
  21.         catch (SqlException ex)
  22.         {
  23.             Response.Write("<center><h2>Alumno duplicado o caja vacia</h2></center> <br/>" + ex.Message + "</center>");
  24.  
  25.         }
  26.  
  27.  
  28.         con.desconectar();
  29.     }

el nuevo
Código ASP:
Ver original
  1. con.insertU(rut);
hace el truco
la funcion es :
Código ASP:
Ver original
  1. public int insertU(String rut)
  2.     {
  3.  
  4.         comando = new SqlCommand("insert into usuario values('" + rut + "','123456')", conn);
  5.  
  6.        return comando.ExecuteNonQuery();
  7.     }

Etiquetas: sql, tablas
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 02:30.