Resultados de la consulta de lectura de desarrollo de C # (15.7)

I. Resumen

  • La función de la clase DataReader en C # es leer los resultados de la consulta, que se utiliza con el método ExecuteReader en la clase Command introducida en las operaciones de la base de datos de C #

  • Esta sección presenta las propiedades y métodos de uso común en la clase DataReader, y cómo usar esta clase para consultar los datos en la tabla.

<! - más ->

Dos descripción general de la clase DataReader

2.1 Descripción general de DataReader

La clase DataReader está en el espacio de nombres System.Data.SqlClient y la clase correspondiente es SqlDataReader, que se usa principalmente para leer los resultados de la consulta en la tabla y se lee en modo de solo lectura (es decir, los datos almacenados en el DataReader no se pueden modificar).

Es precisamente debido al método de lectura especial de la clase DataReader que puede acceder a los datos más rápido y ocupa menos recursos del servidor.

2.2 Atributos y métodos de uso común

Atributo o método Descripción
FieldCount Propiedad para obtener el número de columnas en la fila actual
HasRows Propiedad para obtener si el DataReader contiene datos
Está cerrado Propiedad para obtener si el estado del DataReader está cerrado
Leer Método para avanzar el objeto DataReader al siguiente registro
Cerca Método para cerrar el objeto DataReader
Obtener XXX (int i) Método, obtenga el valor de la columna especificada, donde XXX representa el tipo de datos. Por ejemplo, para obtener el valor del tipo double en la primera columna de la fila actual, el método es GetDouble (o)

Tres usan la clase DataReader para leer los resultados de la consulta

Cuando use la clase DataReader para leer los resultados de la consulta, debe prestar atención. Cuando solo hay un resultado de la consulta, puede usar la instrucción if para consultar los datos en el objeto DataReader. Si el valor de retorno son varios datos, debe recorrer los datos en el objeto DataReader a través de la instrucción while.

Al usar la clase DataReader para leer los resultados de la consulta, debe completar los siguientes pasos:

3.1 Ejecute el método ExecuteReader en el objeto SqlCommand

SqlDataReader dr = instancia de clase SqlCommand.ExecuteReader ();

3.2 Recorrer los resultados en SqlDataReader

El método Read proporcionado en la clase SqlDataReader se usa para determinar si tiene un valor y apunta al siguiente registro en el resultado de SqlDataReader.

dr.Read ()

Si el valor devuelto es Verdadero, el registro se puede leer; de lo contrario, no se puede leer.

Al leer registros, lea las columnas correspondientes en la tabla según el tipo de datos en la tabla.

3.3 Cerrar SqlDataReader

Cierre el flujo de datos después de que se complete la operación

Cuatro ejemplos consultan el número y la contraseña del usuario de acuerdo con el nombre del usuario y muestran el número y la contraseña en el control de la etiqueta (Etiqueta)

4.1 Disposición de la interfaz

Contiene los siguientes componentes:

  • Nombre de usuario: Etiqueta

  • Cuadro de entrada: TextBox

  • Botón de consulta: botón

  • Resultado de la consulta: etiqueta

     

 

4.2 Código (consulta)

private void button1_Click (object sender, EventArgs e) 
{ 
 // Escribe la 
  cadena de conexión de la base de datos connStr = "Data Source = .; Initial Catalog = test; User ID = sa; Password = root"; 
  // Crea una instancia de 
  SqlConnection SqlConnection conn = null; 
  // Definir el objeto de la clase 
  SqlDataReader SqlDataReader dr = null; 
  try 
    { 
      conn = new SqlConnection (connStr); 
      // Abrir la conexión a la base de datos 
      conn.Open (); 
      string sql = "select id, password from userinfo donde name = '{ 0} '"; 
      // Complete la instrucción SQL 
      sql = string.Format (sql, textBox1.Text); 
      // Cree el objeto 
      SqlCommand SqlCommand cmd = new SqlCommand (sql, conn); 
      // Ejecute la instrucción Sql 
      dr = cmd.ExecuteReader ( );
      // Determinar si la declaración SQL se ejecuta correctamente 
      si (dr.Read ()) 
      { 
         // Leer el ID de usuario y la contraseña correspondientes al nombre de usuario especificado 
         string msg = "User ID:" + dr [0] + "Password:" + dr [1]; 
         // Mostrar el valor de msg en la etiqueta 
         label2.Text = msg; 
      } else { 
             label2.Text = "Ningún resultado cumple las condiciones"; 
           } 
      } 
      catch (Exception ex) 
      { 
          MessageBox.Show ("La consulta falló ! "+ ex.Message); 
      } 
      finalmente 
      { 
         if (dr! = null) 
         { 
            // Juzgando que dr no está vacío, cierre el objeto SqlDataReader 
            dr.Close (); 
         } 
         if (conn! = null) 
          {
             // Cerrar la conexión a la base de datos  
             conn.Close ();
          } 
}

4.3 Imagen de efecto

 

4.4 Descripción

Se puede ver en el efecto de ejecución anterior que el número de usuario correspondiente al usuario "Zhang San" es 1 y la contraseña es 123456.

Cabe señalar que el requisito para lograr las funciones anteriores es que el nombre de usuario en la tabla de usuarios sea único para evitar errores de consulta.

Supongo que te gusta

Origin blog.csdn.net/Calvin_zhou/article/details/108066273
Recomendado
Clasificación