1. Cree un procedimiento almacenado Cree
un nuevo procedimiento almacenado para la tabla de empleados en la base de datos Northwind en MSSQL (la función es una consulta difusa basada en Apellido):
CREAR PROCEDIMIENTO Employess_Sel @lastname nvarchar (20).
COMO
seleccione apellido de Empleados donde apellido como '%' + @apellido + '%'
IR
2. Diseño de formulario
1. Cree una nueva aplicación web ASP.NET, asígnele el nombre WebSql, seleccione la ruta para guardar y haga clic en Aceptar.
2. Agregue una etiqueta, un cuadro de texto y un botón de botón al formulario, luego agregue un control DataGrid, haga clic con el botón derecho en el control DataGrid y seleccione Generador de propiedades, luego seleccione la columna en la ventana que se abre y elimine la marca de verificación antes de automáticamente. creando la columna, luego agregue una columna vinculada a la columna seleccionada, establezca el encabezado en Apellido y establezca el campo de datos en Apellido. Haga clic en Aceptar.
3. Cree una capa de datos intermedia.
Haga clic con el botón derecho en la solución, seleccione Biblioteca de clases de nuevo proyecto, asígnele el nombre ClaSQL, seleccione la ruta para guardar y haga clic en Aceptar. Agregue el siguiente código a la biblioteca de clases abierta:
Imports System.Data.SqlClient
Clase pública Clase1
Dim scon As New SqlConnection("server=localhost;database=northwind;uid=sa;pwd=123")
'Crear un proceso de consulta Función pública Emp_Sel(ByVal apellido como cadena) Como conjunto de datos
scon.Open()
scon.Cerrar()
'Defina el objeto de comando y use el procedimiento almacenado Dimscom como nuevo SqlCommand
scom.CommandType = CommandType.StoredProcedure
scom.CommandText = "Empleado_Sel"
scom.Conexión = scon
'Defina un adaptador de datos y establezca el parámetro Dim sda como nuevo SqlDataAdapter(scom)
sda.SelectCommand.Parameters.Add("@apellido", SqlDbType.NVarChar).Value = apellido
'Defina un objeto de conjunto de datos y complete el conjunto de datos Dim ds como nuevo conjunto de datos
Intentar
sda.Rellenar(ds)
Atrapar a ex como excepción
Finalizar intento
Volver ds
Función final
Finalizar clase
4. Haga referencia a la capa de datos intermedia (biblioteca de clases).
Haga clic derecho en el proyecto ClaSql, seleccione Generar, luego haga clic derecho en la "Referencia" del proyecto WebSql, seleccione Agregar referencia y luego seleccione el proyecto para agregar. el proyecto ClaSql al cuadro Componentes seleccionados y haga clic en Aceptar.
5. Diseño del código del formulario WebForm1.aspx
Abra el archivo WebForm1.aspx en el proyecto WebSql, haga doble clic en el botón Botón para abrir la ventana de código, el código completo es el siguiente:
Clase pública WebForm1
Hereda la página System.Web.UI.Page
'Código de formulario omitido'Evento del botón de búsquedaPrivate Sub Button1_Click(ByVal remitente como System.Object, ByVal y As System.EventArgs) Maneja el botón1.Click
'Defina una variable para almacenar la entrada del cuadro de texto y convertirla por motivos de seguridad Dim lastname As String = TextBox1.Text
apellido = apellido.Reemplazar("&", "&")
apellido = apellido.Reemplazar("<", "")
apellido = apellido.Reemplazar (">", "")
apellido = apellido.Reemplazar ("'", "'")
apellido = apellido.Replace("chr(13)", "<br>")
apellido = apellido.Replace("chr(10)", "<br>")
'Crea una nueva instancia de clase y llama al proceso de consulta para vincular datos Dim myCla As New ClaSql.Class1
DataGrid1.DataSource = myCla.Emp_Sel(apellido)
DataGrid1.DataBind()
Subtítulo final
Fin de clase
seis: Notas
: Por razones de seguridad, se deben tomar las siguientes medidas al operar la base de datos:
1. Usar procedimientos almacenados
2. No usar cuentas SA
3. Usar contraseñas para cuentas complejas
4. Para la inserción de datos, intente usar diferentes cuentas para la eliminación y otras operaciones, y solo establezca los permisos de inserción o eliminación correspondientes para cada cuenta diferente.
5. Las operaciones de la base de datos deben encapsularse en la capa intermedia (biblioteca de clases) tanto como sea posible, para que el código pueda implementarse y reutilizarse. facilita futuras modificaciones.