定义一个OleDbDataReader来读取就是了。
如下代码:
OleDbDataReader reader = this.oleDbSelectCommand1.ExecuteReader();reader.Read();MessageBox.Show(reader[0].ToString());
如下代码:
OleDbDataReader reader = this.oleDbSelectCommand1.ExecuteReader();reader.Read();MessageBox.Show(reader[0].ToString());
1. 使用数据读取器, 一种一直与数据库保持连接的方法,如
OleDbDataReader myReader;
string mySelectQuery = ="SELECT 学号 FROM student1 WHERE (学号 LIKE '%"+TextBox1.Text+"%')"; OleDbConnection myConnection = new OleDbConnection(myConnString);
OleDbCommand myCommand = new OleDbCommand(mySelectQuery,myConnection);
myConnection.Open(); myReader = myCommand.ExecuteReader(); while (myReader.Read()) {
Console.WriteLine(myReader.GetInt32(0));
} myReader.Close();
myConnection.Close();
2. 使用数据集DataSet, 一种可以与数据库保持连接的方法,如
OleDbDataAdapter custDA;
DataSet dataSet; string mySelectQuery = ="SELECT 学号 FROM student1 WHERE (学号 LIKE '%"+TextBox1.Text+"%')"; OleDbConnection myConnection = new OleDbConnection(myConnString);
custDA = new OleDbDataAdapter (mySelectQuery, myConnection);
custDA.Fill (dataSet, "Student"); foreach (DataRow row in dataSet.Table["Student"].Rows)
{
Console.WriteLine(row .Item[0]);
}
其中Getxx是方法,根据字段的数据类型使用不用的方法,有getint等等。
你也可以这样
string s=reader["字段名"].tostring();
然后将s转化为你要使用的数据类型
string mySelectQuery="SELECT 学号 FROM student1 WHERE (学号 LIKE '%"+TextBox1.Text+"%')";
this.oleDbSelectCommand1.Connection=this.oleDbConnection1;
OleDbCommand myCommand = new OleDbCommand(mySelectQuery,oleDbConnection1);
OleDbDataReader myDataReader;
myDataReader = myCommand.ExecuteReader();
while(myDataReader.Read())
{
TextBox2.Text=myDataReader["姓名"].ToString();
} myDataReader.Close();出现这个错误“ExecuteReader 需要打开的并且可用的连接。该连接的当前状态是 Closed。”是怎么回事?
oleDbConnection1.Open();
在myDataReader.Close();后加上如下一条代码oleDbConnection1.Close();