数据库中的表中数据如下
//connStr连接数据库的登录信息
string connStr = "server = localhost; user = root; database = test; port = 3306; password = 5250";
//创建连接数据库的对象
MySqlConnection conn = new MySqlConnection(connStr);
try
{
//连接到数据库
conn.Open();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
//命令对象,传入sql语句和连接数据库对象
MySqlCommand cmd = new MySqlCommand("select * from stuinfo", conn);
//命令对象执行查询模式ExecuteReader,返回MySqlDataReader对象,里面装着查询结果
MySqlDataReader reader = cmd.ExecuteReader();
int j = reader.FieldCount;//列数
//读取列名称
for (int i = 0; i < j; i++)
{
Console.Write(reader.GetName(i));
Console.Write("\t");
}
Console.Write("\n");
while (reader.Read())//前进到下一行,一行一行的循环
{
if (reader.HasRows)//获取一个值,该值指示 SqlDataReader 是否包含一行或多行
{
for (int i = 0; i < j; i++)
{
Console.Write(reader[i]);//获取结果
Console.Write("\t");
}
}
Console.Write("\n");
}
reader.Close();
//string sql1 = "INSERT INTO stuinfo value(5,'小明','女')";
//MySqlCommand cmd1 = new MySqlCommand(sql1, conn);
//cmd1.ExecuteNonQuery(); //命令对象执行增删改模式
string sql2 = "SELECT COUNT(*) FROM stuinfo WHERE gender = '女';";
MySqlCommand cmd2 = new MySqlCommand(sql2, conn);
//命令对象返回单个值模式
object result = cmd2.ExecuteScalar();
if (result != null)
{
int r = Convert.ToInt32(result);
Console.WriteLine("女性个数:" + r);
}
运行结果如下