Visual C++ .NET - Ayuda Visual Studio 2019 y SQL server

 
Vista:
sin imagen de perfil
Val: 3
Ha mantenido su posición en Visual C++ .NET (en relación al último mes)
Gráfica de Visual C++ .NET

Ayuda Visual Studio 2019 y SQL server

Publicado por Luis (2 intervenciones) el 09/04/2020 00:51:50
Hola, necesito ayuda. (Visual Studio 2019 y SQL SMS 18)

Tengo un formulario creado con WindowsForms en el cual tengo un textBox y un ComboBox. El comboBox lo cargué con datos de un campo de tabla SQL server, en este se muestra una lista de opciones de Areas de TI (únicamente el nombre del Area)..

Quiero registrar nombres en otra tabla de la base de datos para registrar Analistas. El nombre debe estar relacionado con el ID de las Areas listadas en el comboBox.

En el textBox quiero ingresar un Nombre, de tal manera que al dar click en un Boton(Registrar) se registre, en la tabla Analistas, el nombre del Analista y el Area que este seleccionada en el comboBox.

¿Cómo hago para obtener el ID de la tabla AreasTI y para registrar los datos el la tabla Analistas?

Mis tablas están así:

AreasTI
- idArea
- NombreArea

Analistas
- idArea
- NombreAnalista
- idArea
pantalla_registro_analista
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Registro de analistas y relación con áreas de TI en SQL Server

Publicado por Alejandro (265 intervenciones) el 14/02/2024 23:37:40
Luis, primero, asumiremos que estás trabajando con C# en Windows Forms y que ya tienes una conexión a tu base de datos SQL Server establecida.

1. Cargar ComboBox con áreas de TI:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private void CargarComboBox()
{
    using (SqlConnection connection = new SqlConnection("tu_cadena_de_conexion"))
    {
        connection.Open();
 
        SqlCommand cmd = new SqlCommand("SELECT idArea, NombreArea FROM AreasTI", connection);
        SqlDataReader reader = cmd.ExecuteReader();
 
        while (reader.Read())
        {
            int idArea = reader.GetInt32(0);
            string nombreArea = reader.GetString(1);
            comboBoxAreas.Items.Add(new AreaTI { IdArea = idArea, NombreArea = nombreArea });
        }
 
        connection.Close();
    }
}

En este código, asumimos que tienes una clase `AreaTI` con propiedades `IdArea` y `NombreArea`. El ComboBox se llena con objetos `AreaTI`, pero solo mostramos el nombre en la interfaz.

2. Registro de analistas:

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
private void btnRegistrar_Click(object sender, EventArgs e)
{
    if (comboBoxAreas.SelectedItem != null)
    {
        string nombreAnalista = txtNombreAnalista.Text;
        int idAreaSeleccionada = ((AreaTI)comboBoxAreas.SelectedItem).IdArea;
 
        using (SqlConnection connection = new SqlConnection("tu_cadena_de_conexion"))
        {
            connection.Open();
 
            SqlCommand cmd = new SqlCommand("INSERT INTO Analistas (NombreAnalista, idArea) VALUES (@NombreAnalista, @IdArea)", connection);
            cmd.Parameters.AddWithValue("@NombreAnalista", nombreAnalista);
            cmd.Parameters.AddWithValue("@IdArea", idAreaSeleccionada);
 
            int rowsAffected = cmd.ExecuteNonQuery();
 
            if (rowsAffected > 0)
            {
                MessageBox.Show("Analista registrado con éxito.");
            }
            else
            {
                MessageBox.Show("Error al registrar el analista.");
            }
 
            connection.Close();
        }
    }
    else
    {
        MessageBox.Show("Por favor, seleccione un área antes de registrar el analista.");
    }
}

Este código asume que tienes un botón (`btnRegistrar`), un TextBox (`txtNombreAnalista`), y un ComboBox (`comboBoxAreas`) en tu formulario. Al hacer clic en el botón, se obtiene el nombre del analista y el ID del área seleccionada en el ComboBox para realizar la inserción en la tabla `Analistas`.

Recuerda reemplazar `"tu_cadena_de_conexion"` con la cadena de conexión real a tu base de datos SQL Server. Además, asegúrate de manejar las excepciones y realizar validaciones adicionales según sea necesario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar