Capítulo 10: Programación

Enlaces

Mantenimiento de soportes

void btnGuardarClick(
  object sender, System.EventArgs e
)
{

  string sNombre = txtNombre.Text;
  string sDescripcion = txtDescripcion.Text;

  if(sNombre ### ""){
    MessageBox.Show("Indique un nombre.");
    return;
  }

  if(sDescripción ### ""){
    MessageBox.Show("Indique una descripción.");
    return;
  }

  string sConsulta =
    "INSERT INTO " +
      "soporte(nombre, descripcion) "+
    "VALUES(" +
      "'" + sNombre + "'," +
      "'" + sDescripcion + "'" +
    ");";

  string sCon = "DSN=videoteca";
  OdbcConnection oCon = new OdbcConnection();
  oCon.ConnectionString = sCon;
  oCon.Open();

  OdbcCommand oCmd = new OdbcCommand();
  oCmd.Connection = oCon;
  oCmd.CommandText = sConsulta;
  oCmd.ExecuteNonQuery();

  oCmd.Close();

}

Mantenimiento de películas

Cargar la lista de géneros:

void CargarGeneros(){

  string sCmd;
  sCmd =
    "SELECT id, nombre " +
    "FROM genero;";

  string sCon = "DSN=videoteca";

  OdbcConnection oCon =
    new OdbcConnection();
  oCon.ConnectionString = sCon;
  oCon.Open();

  OdbcCommand oCmd = new OdbcCommand();
  oCmd.Connection = oCon;
  oCmd.CommandText = sCmd;

  OdbcDataReader oReader;
  oReader = oCmd.ExecuteReader();

  long iId = 0;
  string sNombre = "";

  while(oReader.Read()){
    iId = (long)oReader.GetValue(0);
    sNombre = (string)oReader.GetValue(1);
    lstGeneros.Items.Add(
      sNombre + " (" + iId + ")");
  }

  oCon.Close();

  lstGeneros.SelectedIndex = 0;

}

Cargar la lista de soportes:

void CargarSoportes(){

  string sCmd;
  sCmd =
    "SELECT id, nombre " +
    "FROM soporte;";

  string sCon = "DSN=videoteca";

  OdbcConnection oCon =
    new OdbcConnection();
  oCon.ConnectionString = sCon;
  oCon.Open();

  OdbcCommand oCmd = new OdbcCommand();
  oCmd.Connection = oCon;
  oCmd.CommandText = sCmd;

  OdbcDataReader oReader;
  oReader = oCmd.ExecuteReader();

  long iId = 0;
  string sNombre = "";

  while(oReader.Read()){
    iId = (long)oReader.GetValue(0);
    sNombre = (string)oReader.GetValue(1);
    lstSoportes.Items.Add(
      sNombre + " (" + iId + ")");
  }

  oCon.Close();

  lstSoportes.SelectedIndex = 0;

}

Evento de carga del formulario:

void MainFormLoad(
  object sender,
  System.EventArgs e)
{

  CargarGeneros();
  CargarSoportes();

}

Guardar una película:

void BtnGuardarClick(
  object sender, System.EventArgs e)
{

  string sTitulo = txtTitulo.Text;
  if(sTitulo ### ""){
    MessageBox.Show(
      "Indique un título.");
    return;
  }

  int iParentesis = 0;
  int sLongitud = 0;
  int sCaracteres = 0;

  string sGenero =
    lstGeneros.SelectedItem.ToString();
  iParentesis = sGenero.LastIndexOf("(")+1;
  sLongitud = sGenero.Length;
  sCaracteres = sLongitud-iParentesis-1;
  int iIdGenero = 0;
  iIdGenero = Convert.ToInt16(
    sGenero.Substring(iParentesis, sCaracteres)
  );

  string sSoporte = 
    lstSoportes.SelectedItem.ToString();
  iParentesis = sSoporte.LastIndexOf("(") + 1;
  sLongitud = sSoporte.Length;
  sCaracteres = sLongitud - iParentesis - 1;
  int iIdSoporte = 0;
  iIdSoporte = Convert.ToInt16(
    sSoporte.Substring(iParentesis, sCaracteres));

  string sConsulta=
    "INSERT INTO " +
      "pelicula(titulo, idgenero, idsoporte) " +
    "VALUES(" +
      "'" + sTitulo + "', " +
      iIdGenero + ", " +
      iIdSoporte +
    ");";

  string sCon = "DSN=videoteca";
  OdbcConnection oCon = new OdbcConnection();
  oCon.ConnectionString = sCon;
  oCon.Open();

  OdbcCommand oCmd = new OdbcCommand();
  oCmd.Connection = oCon;
  oCmd.CommandText = sConsulta;
  oCmd.ExecuteNonQuery();

  oCon.Close();

}