using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace UseHaving
{
public partial class Frm_Main : Form
{
public Frm_Main()
{
InitializeComponent();
}
private void Frm_Main_Load(object sender, EventArgs e)
{
dgv_Message.DataSource = GetMessage();//设置数据源
}
private void btn_Select_Click(object sender, EventArgs e)
{
dgv_Message.DataSource = GetGrade();//设置数据源
}
/// <summary>
/// 查询数据库信息
/// </summary>
/// <returns>方法返回DataTable对象</returns>
private DataTable GetGrade()
{
string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串
@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\DataBase\db_TomeTwo.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
@"SELECT 所在学院,COUNT(*) AS 人数,MAX(高数) AS 最高成绩,AVG(高数) AS 高数平均成绩
FROM
tb_student AS st
JOIN tb_grade AS gr
ON
st.学生编号 = gr.学生编号
GROUP BY 所在学院
HAVING AVG(高数) > 60");
SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器
P_Str_SqlStr, P_Str_ConnectionStr);
DataTable P_dt = new DataTable();//创建数据表
P_SqlDataAdapter.Fill(P_dt);//填充数据表
return P_dt;//返回数据表
}
/// <summary>
/// 查询数据库信息
/// </summary>
/// <returns>方法返回DataTable对象</returns>
private DataTable GetMessage()
{
string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串
@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\DataBase\db_TomeTwo.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
"SELECT * FROM tb_Student");
SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器
P_Str_SqlStr, P_Str_ConnectionStr);
DataTable P_dt = new DataTable();//创建数据表
P_SqlDataAdapter.Fill(P_dt);//填充数据表
return P_dt;//返回数据表
}
}
}