C#中datareader的用法
C#中提供的DataReader可以从数据库中每次提取一条数据。这里我做了一个登录验证的演示,演示从数据库中读取符合条件的记录:程序的代码如下:using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication4
{
publicpartial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//定义链接
OleDbConnection conn;
//定义命令
OleDbCommand cmd;
//定义datareader
OleDbDataReader myreader;
//定义两个变量用来存储数据库链接字符串和命令字符串
string connstr, selectcmd;
private void button1_Click(object sender, EventArgs e)
{
connstr ="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=db.mdb";
selectcmd = "select * from yonghu where username='" +textBox1.Text+ "' and password='" + textBox2.Text + "'";
//实例化链接并打开
conn = new OleDbConnection(connstr);
conn.Open();
//实例化cmd并制定执行语句与执行链接
cmd = new OleDbCommand(selectcmd, conn);
//执行查询命令并赋给datareader
myreader = cmd.ExecuteReader();
if (myreader.Read())
{
//myreader中有数据,表示给出的用户名和密码在数据库中有匹配记录
MessageBox.Show("登录成功");
//如果登录成功则取出用户名和等级填入下面的文本框中
textBox3.Text = myreader["username"].ToString();
textBox4.Text = myreader["level"].ToString();
}
else
{
//myreader中没有数据,表示给出的用户名和密码至少有一个是错的
MessageBox.Show("登录失败!!");
}
myreader.Close();
conn.Close();
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}