Buscando un código relacionado con la interfaz de inicio de sesión de C# winform y la base de datos SQL
Le daré un código sobre la conexión de la base de datos que resumí:
usando System.Data.OleDb;//Haga referencia primero al espacio de nombres
espacio de nombres DataReader1
{
clase parcial pública Formulario1: Formulario
{
Formulario público1()
{
InitializeComponent();
}
/*Nota especial: DataReader lee datos línea por línea La tabla DataReader es en realidad una tabla de datos de memoria Similar a DataSet*/.
private void Form1_Load(object sender, EventArgs e)
{
string connStr, selectCmd;//Define dos variables de cadena Se utiliza para almacenar caracteres de conexión y SQL códigos de comando respectivamente
connStr ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=SCOREDB.mdb";//Asigne un valor a la palabra de conexión que se utilizará para conectarse a la base de datos p>
selectCmd = "SELECT * FROM SCORE";//Asignar un valor a la sentencia SQL a ejecutar
OleDbConnection conn;//Definir el objeto de la clase de conexión
OleDbCommand cmd;//Crea un objeto de la clase comando
Lector OleDbDataReader;//Crea un objeto de la clase OleDbDataReader para leer datos
conn = new OleDbConnection(connStr) ;//Crea un nuevo objeto de conexión, es equivalente a prepararse para abrir la puerta con una llave, y connStr es equivalente a la clave
conn.Open();//Abre la conexión, la base de datos la puerta está abierta
cmd = new OleDbCommand(selectCmd , conn);//Asociar la "conexión" al comando SQL, de modo que la sentencia SQL a ejecutar quede asociada a la base de datos
lector = cmd.ExecuteReader();/*Ejecute la instrucción SQL y basándose en el resultado de la consulta devuelta (una tabla de datos) crea un objeto OleDbDataReader,
y lo asigna a la variable originalmente definida para almacenar el objeto En este momento, el lector es equivalente a una tabla,
y En este momento, solo los datos de la primera fila (es decir, la fila del encabezado) se pueden usar directamente*/
for (i = 0; i < lector.FieldCount; i++)/*Cuando i es menor que la tabla del lector El número de columnas (el valor de fieldcount es de base cero)
Cuándo, ejecute el código dentro de las llaves*/
{
txtShow.Text += lector.GetName(i) + "\t";//Obtenga el i-ésimo columna (nombre de la columna comenzando desde cero,
}
txtShow.Text += "\n\n";
while (reader.Read() ) /*Primero mueva las filas de datos en la tabla del lector que se pueden leer directamente hacia abajo una fila, para que la fila debajo del encabezado se pueda usar directamente, eso es todo
Siga bajando fila por fila hasta que el lector tabla Hasta que se agote la última fila*/
{
for (i = 0; i < lector.FieldCount; i++)//El valor de lector.fieldcount es igual a la columna del número de tabla del lector, pero al llamar a una determinada columna, la siguiente tabla comienza a contar desde cero
{
txtShow.Text += lector [i] + "\t ";//reader[i] se utiliza para obtener el valor de la i-ésima columna de la fila donde los datos se pueden leer directamente (i comienzo desde cero).
}
txtShow.Text += "\n";
}
lector.Close();//Cerrar DataReader Objeto, libera recursos, la tabla DataReader es en realidad una tabla de datos de memoria
conn.Close();//Desconecta la conexión de la base de datos
}
}< / p>
}
Resumen: cree objetos para las tres clases OleDbConnection, OleDbCommand y OleDbDataReader, porque estas tres clases deben usarse juntas para acceder a la base de datos
Otro método : Utilice DataSet y DataBaseAdapter para acceder a los datos en la tabla de datos
string connStr, selectCmd;
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=SCOREDB .mdb ";
selectCmd = "Seleccionar * De SCORE";
OleDbConnection conn;
OleDbDataAdapter myAdapter;
DataSet myDataSet = nuevo DataSet ();//Crear un objeto DataSet vacío sin una tabla
conn = new OleDbConnection(connStr);
myAdapter = new OleDbDataAdapter(selectCmd, conn);
p >myAdapter.Fill(myDataSet, "Transcript");
DataTable myDataTable = myDataSet.Tables["Transcript"];/*Para acceder a ciertos contenidos de la tabla, primero debe asignar la tabla en el DataSet a DataTable myDataTable*/
for (k = 0; k < myDataTable.Columns.Count; k++)//myDataTable.Columns.Count es el número de columnas en la tabla de datos p >
{
txtShow.Text += myDataTable.Columns[k].ColumnName + "\t";
}
txtShow.Text + = "\n";
para (i = 0; i < myDataTable.Rows.Count; i++)
{
para (j = 0 ; j < myDataTable.Columns.Count; j++)//El número de columnas de myDataTable.Columns.Count, comenzando desde 1
{
txtShow.Text += myDataTable.Rows[i][j] + "\t";//Equivalente a una matriz bidimensional
}
txtShow.Text += "\n";
Dos: use DataReader de SQL para leer la información de la base de datos
usando System.Data.SqlClient;//Cite el espacio de nombres primero
p>// Comience a obtener la contraseña de la base de datos
string conString = @"server=localhost;database=nombre de la base de datos;Integrated Security=SSPI";
string selectCmd = "SELECT ID,PassWord FROM userInfo";
SqlConnection con = new SqlConnection(conString);
SqlCommand cmd;
Lector SqlDataReader;
con.Open();
cmd = new SqlCommand(selectCmd, con);
lector = cmd.ExecuteReader();
while ( lector.Read())
{
ID = lector.GetString(0);
Contraseña = lector.GetString(1);
}
lector.Close();
con.Close();
//Obteniendo la contraseña completa
Resumen : ¡Cree objetos para SqlConnection, SqlCommand y SqlDataReader porque se utilizan estas tres clases!
Tres: use DataSet para acceder a la base de datos
usando System.Data.OleDb; primero haga referencia al espacio de nombres
cadena connStr, selectCmd;//Defina dos cadenas Las variables se utilizan para almacenar caracteres de conexión y códigos de comando SQL respectivamente
DataSet myDataSet = new DataSet();//Crear un nuevo DataSet para almacenar tablas de datos en la memoria
OleDbConnection conn;/ /Definir conector
OleDbDataAdapter myAdapter;//Definir adaptador
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DB.mdb";//Cadena de caracteres de conexión
conexión = ne
w OleDbConnection(connStr);/*Inicie la conexión, porque el adaptador abrirá y cerrará automáticamente la base de datos, así que no use las funciones de abrir y cerrar, pero aún necesita iniciar el paso de conexión*/
selectCmd = "Select * From SCORE";
myAdapter = new OleDbDataAdapter(selectCmd, conn);//Asocia la sentencia SQL con la "conexión", que es similar a la clase OleDbCommand
myAdapter.Fill(myDataSet, "Transcript"); // Complete los datos consultados por SQL en la tabla de datos "Transcript" en myDataSet
selectCmd = "Select * From STOCK";
myAdapter = new OleDbDataAdapter(selectCmd, conn);
myAdapter.Fill(myDataSet, "Stock Quote");
selectCmd = "Seleccionar * De LIBRO";
myAdapter = new OleDbDataAdapter(selectCmd, conn);
myAdapter.Fill(myDataSet, "Qifeng Books");// Un conjunto de datos tiene tres tablas de datos, a saber, "transcript", " Cotizaciones de acciones", "Libros Qifeng"
for (int i = 0; i < myDataSet.Tables.Count; i++)
{
cboTable.Items .Add(myDataSet.Tables[i].TableName);//Agrega el nombre de la tabla de datos al cuadro combinado
}
cboTable.Text = myDataSet .Tables[2 ].TableName;
dataGridView1.DataSource = myDataSet.Tables[2];/*Vincular dataGridView1 al DataSet. Una vez que dataGridView1.DataSource cambie, los datos mostrados en dataGridView cambiarán* /
private void btnSelect_Click(object sender, EventArgs e)
{
dataGridView1.DataSource = myDataSet.Tables[cboTable.Text];//se puede usar Use el nombre de la tabla para acceder a la tabla establecida en el DataSet
}
Para cambiar el nombre de la tabla en el DataSet, el código es el siguiente:
DataTableMapping changeName= nuevo DataTableMapping() ;
cambioNombre=mi
Adapter.tableMapping.Add ("Nombre de tabla original", "Nombre de tabla nueva");
Si no comprende, le sugiero que lea un libro y se lo presente, "Visual C# 2005 Guía de desarrollo completo》