I. Resumen
A continuación, utilizamos un ejemplo completo para implementar el funcionamiento de la función de gestión de la información del curso, incluidas las operaciones de consulta, modificación y eliminación de la información del curso.
Para simplificar el ejemplo, la operación de agregar información del curso se completa directamente en la base de datos de SQL Server.
<! - más ->
Proceso de dos ejemplos
2.1 Crear hoja de información del curso
2.1.1 Declaración SQL para crear la tabla de información del curso
-
Abra Visual Studio 2019 para agregar una nueva tabla, ingrese la siguiente declaración SQL a continuación
crear curso de tabla ( id int identidad de clave primaria (1,1), nombre varchar (20), crédito numérico (3,1), observación varchar (50) );
-
Proceso de ejecución de la página
2.2 Declaraciones para agregar datos a la tabla
-
Agregar declaración de datos
insertar en el curso (nombre, crédito, comentario) valores ('piedra angular de la computadora', 2, 'ninguno'); insertar en el curso (nombre, crédito, comentario) valores ('desarrollo de programa C #', 2.5, 'enseñanza en sala de informática'); insertar en curso (nombre, crédito, comentario) valores ('principio de base de datos', 1, 'ninguno'); insertar en curso (nombre, crédito, comentario) valores ('deportes', 1, 'ninguno'); insertar en curso (nombre, crédito, comentario) valores ('alfabetización profesional', 0,5, 'ninguno');
-
Scripting
SQL Server Management Studio—> Tabla—> Escribir script como—> Insertar en I
-
Proceso de implementación
Ejecute la declaración SQL anterior en SQL Server para completar la creación de la tabla de información del curso (curso) y la adición de datos.
2.2 Diseño de la interfaz de gestión de la información del curso
En la interfaz de gestión de la información del curso, se proporciona un control DataGridView para mostrar la información del curso, y proporciona funciones para buscar, modificar y eliminar información del curso según el nombre del curso.
El diseño de interfaz específico se muestra en la figura siguiente.
2.3 Mostrar toda la información del curso al cargar el formulario
En este ejemplo, el enlace de datos del control DataGridView se realiza escribiendo código y el código de enlace de datos se agrega al evento de carga del formulario.
Dado que el código para consultar toda la información del curso se reutilizará en las funciones de modificación y eliminación posteriores, se define un método separado para consultar toda la información del curso. el código se muestra a continuación
// Evento de carga de formulario private void DataGridViewForm_Load (object sender, EventArgs e) { // Llamar al método para consultar todos los cursos QueryAllCourse (); } // Consultar todos los cursos private void QueryAllCourse () { // Cadena de conexión de base de datos connStr = " Data Source = .; Initial Catalog = test; User ID = sa; Password = root "; // Cree una instancia de SqlConnection SqlConnection conn = null; try { conn = new SqlConnection (connStr); // Abra la base de datos conn.Open () ; string sql = "select * from course"; // Crea un objeto de la clase SqlDataAdapter SqlDataAdapter sda = new SqlDataAdapter (sql, conn); // Crea un objeto de la clase DataSet DataSet ds = new DataSet (); // Utilice el objeto SqlDataAdapter sda para llenar los nuevos resultados de búsqueda en el objeto DataSet ds sda.Fill (ds); // Establezca la propiedad DataSource del control de tabla dataGridView1.DataSource = ds.Tables [0]; // Establecer el encabezado de la columna que se muestra en la cuadrícula de datos dataGridView1.Columns [0] .HeaderText = "Número"; dataGridView1.Columns [1] .HeaderText = "Nombre del curso"; dataGridView1.Columns [2] .HeaderText = "Credits"; dataGridView1.Columns [3] .HeaderText = "Remarks"; // Establece la cuadrícula de datos como de solo lectura dataGridView1.ReadOnly = true; // No permite agregar filas dataGridView1.AllowUserToAddRows = false; // El fondo es blanco dataGridView1.BackgroundColor = Color. Blanco; // Seleccione solo una fila dataGridView1.MultiSelect = false; // Seleccione la fila completa dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; } catch (Exception ex) { MessageBox.Show ("Query error!" + ex.Message); } finalmente { if (conn! = null ) { // Cerrar la conexión de la base de datos conn.Close (); } } }
Ejecute el formulario, el efecto se muestra en la siguiente figura
2.4 Consulta difusa completa del nombre del curso
Agregue el código para la consulta aproximada según el nombre del curso en el evento de clic del botón "consultar", de la siguiente manera
// Consulta en el botón, haz clic en el evento private void button1_Click (object sender, EventArgs e) { if (textBox1.Text! = "") { // Cadena de conexión de la fuente de datos string connStr = "Data Source = .; Initial Catalog = test; User ID = sa; Password = root "; // Crea una instancia de SqlConnection SqlConnection conn = null; try { conn = new SqlConnection (connStr); // Abre la base de datos conn.Open (); string sql =" select * from course where name like '% {0}%' "; // Llene el marcador de posición sql = string.Format (sql, textBox1.Text); // Crea un objeto de la clase SqlDataAdapter SqlDataAdapter sda = new SqlDataAdapter (sql, conn); // Cree un objeto de la clase DataSet DataSet ds = new DataSet (); // Utilice el objeto SqlDataAdapter sda para completar los nuevos resultados de búsqueda en el objeto DataSet ds sda.Fill (ds); // Establezca la propiedad DataSource del control de tabla dataGridView1.DataSource = ds.Tables [0]; } catch (Exception ex) { MessageBox.Show ("Ocurrió un error!" + ex.Message); } finalmente { if (conn! = null) { // Cerrar la conexión de la base de datos conn.Close () ; } } } }
Ejecute el formulario, el efecto de consulta se muestra a continuación
Se puede ver en el efecto de ejecución anterior que al ingresar "computadora" en el cuadro de texto, puede consultar toda la información del curso con la palabra "computadora" en el nombre del curso
2.5 Implementar la función de modificación
Seleccione una parte de la información del curso en el control DataGridView y haga clic en el botón "Modificar" para que aparezca la interfaz de modificación de información del curso y muestre la información que se va a modificar en la interfaz. El diseño de la interfaz de modificación se muestra en la siguiente figura
Seleccione una parte de la información del curso en el control DataGridView y haga clic en el botón "Modificar"
// Modificar la información del curso private void button2_Click (object sender, EventArgs e) { // Obtener el valor en el control DataGridView // Obtener el número de curso string id = dataGridView1.SelectedRows [0] .Cells [0] .Value.ToString (); // Obtener el nombre del curso string name = dataGridView1.SelectedRows [0] .Cells [1] .Value.ToString (); // Obtener el nombre del curso string credit = dataGridView1.SelectedRows [0] .Cells [2] .Value.ToString ( ); // Obtener el nombre del curso string comment = dataGridView1.SelectedRows [0] .Cells [3] .Value.ToString (); // Crear un objeto de la clase updateForm y pasar la información del curso a la interfaz de modificación updateForm updateform = new updateForm ( id, nombre, crédito, comentario); // Abrir la ventana de modificación de información DialogResult dr = updateform.ShowDialog (); // Determinar si hacer clic en el botón Aceptar if (dr == DialogResult.OK) { // Llamar al método de consulta todos los cursos QueryAllCourse (); } }
El código en la interfaz de actualización (UpdateForm) es el siguiente
// Método de construcción con parámetros public updateForm (id de cadena, nombre de cadena, crédito de cadena, comentario de cadena) { InitializeComponent (); textBox1.Text = id; textBox2.Text = name; textBox3.Text = credit; textBox4.Text = comentario ; } // Confirmar clic en el botón evento private void button1_Click (remitente del objeto, EventArgs e) { // Cadena de conexión de la fuente de datos connStr = "Data Source = .; Initial Catalog = test; User ID = sa; Password = root"; / / Crea una instancia de SqlConnection SqlConnection conn = null; try { conn = new SqlConnection (connStr); // Abre la base de datos conn.Open (); string sql = "actualizar el nombre del conjunto de cursos = '{0}', credit = '{1}', observación = '{2}' donde id = '{3}'"; // llenar el marcador de posición sql = string. Format (sql, textBox2.Text, textBox3.Text, textBox4.Text, textBox1.Text); // Crea un objeto de la clase SqlCommand SqlCommand cmd = new SqlCommand (sql, conn); // Ejecuta SQL para modificar la operación cmd.ExecuteNonQuery ( ); // Un mensaje emergente MessageBox.Show ("¡Modificación exitosa!"); // Establezca el resultado del formulario actual DislogResult en OK this.DialogResult = DialogResult.OK; // Cierre el formulario this.Close (); } catch ( Excepción ex) { MessageBox.Show ("¡Modificación fallida!" + Ex.Message); } finalmente { if (conn! = null) { // Cerrar la conexión de la base de datos conn.Close (); } } } // Cancelar el botón click event private void button2_Click (object sender, EventArgs e) { // Cerrar el formulario this.Close ( ); }
El efecto operativo de la operación de modificación se muestra en la siguiente figura
2.6 Realizar la función de eliminación
Agregue un evento de clic al botón "Eliminar" para eliminar la información del curso seleccionado y actualizar los datos consultados en la interfaz. El código implementado es el siguiente
// Elimina el evento click del botón private void button3_Click (object sender, EventArgs e) { // Obtiene el valor de la columna numérica de la fila seleccionada en el control DataGridView int id = int.Parse (dataGridView1.SelectedRows [0] .Cells [0] .Value.ToString ()); // La cadena de conexión de la base de datos connStr = "Data Source = .; Initial Catalog = test; User ID = sa; Password = root"; // Cree una instancia de SqlConnection SqlConnection conn = null; try { conn = new SqlConnection (connStr); // Abra la base de datos conn.Open (); string sql = "delect from course where id = '{0}'"; // Complete el marcador de posición sql = string.Format (sql, id ); // Crea un objeto de la clase SqlCommand SqlCommand cmd = new SqlCommand (sql, conn); // Ejecutar sentencia SQL cmd.ExecuteNonQuery (); // Un mensaje emergente indica que la eliminación fue exitosa MessageBox.Show ("¡La eliminación se realizó correctamente!"); // Llame a la consulta todos los métodos para actualizar los datos en el control DataGridView QueryAllCourse (); } catch (Exception ex) { MessageBox .Show ("¡La eliminación falló!" + Ej. Mensaje); } finalmente { if (conn! = Null) { // Cerrar la conexión de la base de datos conn.Close (); } } }
Haga clic en el botón "Aceptar" en el cuadro de mensaje de eliminación para actualizar los datos en el control DataGridView