private void button4_Click(object sender, EventArgs e)
{
DBConnect();
oledbCon.Open();
string cmdstr = @"select count(*) from 学生基本信息 where 性别 = '女'";
OleDbCommand cmd = new OleDbCommand(cmdstr, oledbCon);
OleDbDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
int count = reader.GetInt32(0);
richTextBox1.Text = "女生的人数 =" + count;
}
}
你这个没链接到数据库吧,你可以参考一下这段代码
private void button4_Click(object sender, EventArgs e)
{
OleDbConnection conn;
string M = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=d:\\northwind.mdb";
conn = new OleDbConnection(M);
conn.Open();
string cmdstr = @"select count(*) from 学生基本信息 where 性别 = '女'";
OleDbCommand cmd = new OleDbCommand(cmdstr, conn);
OleDbDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
int count = reader.GetInt32(0);
richTextBox1.Text = "女生的人数 =" + count;
}
}
获取数据前要先读取reader.Read();
if (reader.HasRows)
{
reader.Read();///////////////////////要先读取数据
int count = reader.GetInt32(0);
richTextBox1.Text = "女生的人数 =" + count;
}
其实不用reader,ExecuteScalar获取第一行第一列数据就行,那个sql总会返回数据的
string cmdstr = @"select count(*) from 学生基本信息 where 性别 = '女'";
OleDbCommand cmd = new OleDbCommand(cmdstr, oledbCon);
// OleDbDataReader reader = cmd.ExecuteReader();
object num = cmd.ExecuteScalar();
richTextBox1.Text = "女生的人数 =" + num;
oledbCon.Close();
远程看一看。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632