Esta clase no se puede heredar. Creo que esta clase sirve como puente. Conecta .NETt y SQL Server; pasa la declaración SQL que configuramos en el cliente a SQL y luego pasa el valor SQL al cliente.
Esta clase define muchos métodos y propiedades para ayudarnos a completar diferentes declaraciones SQL; ; resume tres métodos utilizados en el sistema de carga de la sala de computadoras
El primer método: ExecuteScalar
Función: Ejecutar valor de retorno de consulta: Devuelve el valor devuelto por la consulta La primera columna de la primera fila en el conjunto de resultados. Ignore otras columnas o filas. System.Object La primera columna de la primera fila del conjunto de resultados; una referencia nula (Nada en Visual Basic) si el conjunto de resultados está vacío. Se aplica a: Usar el método ExecuteScalar para recuperar un valor único (como un valor agregado). de la base de datos. Esta operación requiere menos código que usar el método ExecuteReader y luego realizar las operaciones necesarias para generar un valor único usando los datos devueltos por SqlDataReader.
Código de muestra:
Recupere un único valor de la base de datos en VB.NET----use la instrucción sumando desde recarga e
Imports System.Data 'para crear una variable de tipo tabla El espacio al que se debe hacer referencia Imports System.Data.SqlClient 'Para crear una conexión de base de datos SQL y el espacio al que se debe hacer referencia Imports Entity Imports DateBaseHelper Clase pública ConsumeInfoDAL 'Obtener el monto total de recarga en T_Recharge Función pública GetBlance(ByVal strID As String, ByVal consumeCash As String) As String 'Establezca la instrucción T_SQL en el sql entrante: Obtenga la cantidad total de recarga Dim strRecharge As String = "SELECT SUM(cast(RechargeCash as int )) FROM T_RechargeInfo donde CardID ='" strID " ' " 'Abra la base de datos y ejecute la instrucción SQL anterior Obtenga el resultado, cierre la base de datos Dim con As New DBHelper Dim recharge As String con.Open() 'Necesita procesar si no hay ningún registro en la tabla, luego devolver false ' Si se devuelve falso, la recarga es 0 Si con.ExecutesqlScalar(strRecharge) = False Entonces recarga = " 0" De lo contrario recarga = con.ExecutesqlScalar(strRecharge) Fin Si con.Close() 'Devolver recarga Fin de función Clase final La clase DBHelper define operaciones comunes en la base de datos como métodos Imports System.Data Imports SqlClient Imports System.Data.OleDb Imports System.Text Imports System.Configuration Imports Entity Public Class DBHelper Private myConnection As New SqlConnection 'Representa el control de conexión de datos Private CmdString. Como cadena 'Representa el comando de instrucción SQL Private Cmd As New SqlCommand 'Representa la instrucción de comando SQL Ejecutar Private Reader As SqlDataReader 'indica que el par DataReader devuelto'****************** ******************** ******** 'lt; resumengt; 'Abrir la base de datos' lt;/summarygt; ' lt;returnsgt; verdadero: conexión exitosa falso: conexión fallida' lt;/returnsgt '****** ******************************* *********** Función pública abierta() como booleana 'Leyendo la aplicación Fetch para obtener el carácter de conexión
String Dim myConnectionString As String = ConfigurationManager.AppSettings("Connstr") 'Representa la cadena de datos' Pase la cadena de conexión myConnection.ConnectionString = myConnectionString Pruebe myConnection.Open() Devuelva True Catch ex como excepción Devuelva False End Try End Function '* ******************************************** 'lt;summarygt; 'Cerrar base de datos' lt;/summarygt; '****************************************** ** ****** Public Sub Close() Cmd.Dispose() myConnection.Close() End Sub '************************ ********************** ' lt; resumengt; ' Ejecutar la instrucción sql entrante ' lt /summarygt; param name="strSQL" gt; Pasar la instrucción SQL ingresada en la base de datos lt;/paramgt; 'lt;returnsgt; 'Entero devuelve la primera fila y la primera columna del conjunto de resultados consultado' lt;/returnsgt; * *********************************** Función pública ExecutesqlScalar(ByVal strSQL como cadena) Como cadena Cmd.Connection = myConnection Cmd.CommandText = strSQL 'Dim flag As Object Try 'Devuelve el valor de la primera fila y columna de la consulta, otras filas y columnas se ignoran Return Cmd.ExecuteScalar Catch e As Exception Return False End Try End Function End Class The segundo tipo: ExecuteNonQuery
Función: ejecuta la instrucción Transact-SQL en la conexión y devuelve el número de filas afectadas. Valor de retorno: Tipo: System.Int32 Número de filas afectadas. Para las declaraciones ACTUALIZAR, INSERTAR y ELIMINAR, el valor de retorno es el número de filas afectadas por el comando. Si hay disparadores en la tabla en la que se realiza la operación de inserción o actualización, el valor de retorno incluye el número de filas afectadas por la operación de inserción o actualización y el número de filas afectadas por uno o más disparadores. Para todos los demás tipos de declaraciones, el valor de retorno es -1. Si se produce una reversión, el valor de retorno también es -1. Situaciones aplicables:
1. Utilice ExecuteNonQuery para realizar operaciones de directorio (como consultar la estructura de la base de datos o crear objetos de base de datos como tablas), o ejecutando declaraciones UPDATE, INSERT o DELETE; cualquier fila, sin embargo, cualquier parámetro de salida o valor de retorno asignado a los parámetros se completará con datos.
2.ExecuteNonQuery también devolverá el número de registros afectados por la ejecución de la consulta.
Sin embargo, ExecuteNonQuery no devuelve ninguna fila o columna en el procedimiento almacenado. El método ExecuteNonQuery es más útil cuando se utilizan instrucciones de inserción, actualización o eliminación si solo necesita saber el número de filas modificadas. Al utilizar una instrucción SELECT dentro de un procedimiento almacenado, recibe -1 porque la consulta no afecta a ninguna fila.
Código de muestra: cambie la contraseña: ejecute el procedimiento almacenado; use la declaración de actualización en el procedimiento almacenado, recibirá la cantidad de filas afectadas.
Código de procedimiento almacenado: cree el proceso PROC_Modify @UserID char(20), @UserPwd char(20) como actualización T_UserInfo establezca UserPwd =@UserPwd donde UserID =@UserID vaya al código VB.NET:
Importa System.Data ' Crea una variable de tipo tabla que requiere un espacio de referencia Imports System.Data.SqlClient ' Crea una conexión de base de datos SQL que requiere un espacio de referencia Imports Entity Imports DateBaseHelper Public Class UserInfoDAL '************. **** ***************************** ' lt; resumengt; ' Cambiar contraseña' lt /summarygt; param name=" lt; enUser gt; "gt; objeto de información de usuario, asignando valores a userid y userpwd a través de la capa UI; éxito del cambio de contraseña falso: representa el error al cambiar la contraseña 'lt;/returnsgt '******************************; ************* *** Función pública AlterPwd(ByVal enUser As UserInfoEntity) Como booleano Implementa IUserinfo.AlterPwd Dim flag As Boolean 'Establece parámetros de procedimiento almacenado Dim strProc As String = "PROC_Modify" Dim sqlParameter () As SqlParameter = { New SqlParameter("UserID", enUser.T_UserID), New SqlParameter("UserPwd", enUser.T_UserPWD)} 'Crear una instancia con Abrir la base de datos Llamar ejecutar la función de procedimiento almacenado Cerrar la base de datos Dim con As New DBHelper con.Open() flag = con.ExecuteProcBool(strProc, sqlParameter) con.Close() Return flag Función final Clase final Método correspondiente en DBHelper:
Importa System.Data Importa System.Data.SqlClient Importa Sistema .Data.OleDb Imports System.Text Imports System.Configuration Imports Entity Public Class DBHelper Private myConnection As New SqlConnection 'Representa la conexión de datos controlPrivate CmdString As String 'Representa el comando de instrucción SQLPrivate Cmd As New SqlCommand 'Representa la ejecución del comando SQL StatementPrivate Lector como
SqlDataReader 'indica el par DataReader devuelto'****************************************** **** 'lt; resumengt; 'Ejecutar el procedimiento almacenado con parámetros' lt;/summarygt; ' lt;param name="strProc"gt; Nombre del procedimiento almacenadolt;/paramgt; ; Parámetros requeridos por el procedimiento almacenado lt; / paramgt; ' lt; returngt; ' Booleano verdadero: significa que el procedimiento almacenado se ejecutó exitosamente; false: significa que no se ejecutó exitosamente' lt; ****** ********************************** Función pública ExecuteProcBool(ByVal strProc como cadena, ByVal sqlParameter As SqlParameter( )) As Boolean 'Conéctese a la base de datos y pase el nombre y los parámetros del almacenamiento a cmd Cmd.Connection = myConnection 'Indique el procedimiento almacenado Cmd.CommandType = CommandType.StoredProcedure Cmd.CommandText = strProc Cmd.Parameters.AddRange( SqlParameter) Try 'Ejecutar el procedimiento almacenado La declaración en devuelve boolean Cmd.ExecuteNonQuery() Devuelve True Catch e Como excepción Devuelve False End Try End Function End Class El tercer método: ExecuteReader
Función: Enviar CommandText a la conexión y generar un SqlDataReader. Explicación 1: envíe la instrucción SQL a la conexión especificada para generar un objeto SqlDataReader
Explicación 2: cuando se ejecuta ExecuteReader(), se devuelve un objeto SqlDataReader
Ambas explicaciones en realidad explican algo El método consiste en darle al objeto SqlDataReader un canal para acceder a los resultados de la consulta.
Valor de retorno: Tipo: System.Data.SqlClient.SqlDataReader Objeto SqlDataReader. El método Read de SqlDataReader puede hacer que SqlDataReader avance al siguiente registro y también devuelve un valor bool. Si no hay ningún registro en el siguiente registro, devuelve falso, lo que significa que la lectura del registro se completa cuando el siguiente registro tiene datos; , es cierto, y los datos leídos (el registro actual) se devolverán) se almacenan temporalmente en SqlDataReader.
Código de muestra: El resultado devuelto al ejecutar una instrucción Select es de tipo Bool; verifique si ya existe un registro en la tabla Imports System.Data ' Crea una variable de tipo tabla que requiere un espacio de referencia. System.Data.SqlClient 'Crear La conexión de base de datos SQL necesita hacer referencia al espacio Imports Entity Imports DateBaseHelper Clase pública CardInfoDAL Función pública CheckStudentID(ByVal enStudent As Entity.StudentInfoEntity) Como booleano Implementa ICardInfo.CheckStudentID Dim flag As Boolean 'Juzga si la entrada stuID ya existe Dim strSQL As String = "select * from T_StudentInfo donde StuID='" enStudent.T_StuID "' " Dim con As New DBHelper con.Open() flag = con.ExecutesqlBool(strSQL) con.Close() Return flag Función final Fin del método correspondiente a ClassDBHelper: Imports System .Data Imports System.Data.SqlClient Imports System.Data.OleDb Imports System.Text Imports System.Configuration Imports Entity Public Class DBHelper Private myConnection As New SqlConnection 'Representa el control de conexión de datos Private CmdString As String ' Representa el comando de declaración SQL Private Cmd As New SqlCommand 'Representa la ejecución de declaraciones de comando SQL Private Reader As SqlDataReader 'Representa el par DataReader devuelto'********************* *************** *************** ' lt; resumengt; ' Ejecutar la instrucción sql entrante ' lt /summarygt; param name="strSQL"gt; se pasa a la instrucción SQL de la base de datos;/paramgt; ' lt; returngt; ' Booleano verdadero: representa la ejecución exitosa de strSQL; representa la ejecución fallida' lt;/returnsgt; *********** **************************** Función pública ExecutesqlBool(ByVal strSQL como cadena) Como booleano Cmd.Connection = myConnection Cmd.CommandText = strSQL Dim flag Como booleano Try 'Devuelve si se obtuvo el resultado de la consulta Reader = Cmd.ExecuteReader() flag = Leer
er.Read() Reader.Close() Devolver bandera Captura e como excepción Devolver falso Fin Intentar Fin Función Fin clase