C# WinForm课程查询功能实现
C# WinForm课程查询功能实现
本篇文章将介绍如何使用 C# 和 WinForm 创建一个简单的课程查询功能。该功能允许用户根据学期和课程名称进行查询,并将结果显示在 DataGridView 控件中。
代码示例:
namespace test1
{
public partial class searchclassForm : Form
{
public searchclassForm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e, int _)
{
while (dataGridView1.Rows.Count != 0)
{
dataGridView1.DataSource = null;
}
if (comboBoxterm.Text == '' && textBoxclass.Text == '')
{
MessageBox.Show('请输入查询信息!');
}
else if (comboBoxterm.Text != '' && textBoxclass.Text == '')
{
SqlConnection conn = new SqlConnection(地信212韩佳峻.connectionString);
conn.Open();
string sql = 'select claname as 课程名,term as 学期';
SqlDataAdapter adp1 = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
adp1.Fill(ds);
//载入基本信息
dataGridView1.DataSource = ds.Tables[0].DefaultView;
conn.Close();
}
else if (textBoxclass.Text != '' && comboBoxterm.Text == '')
{
SqlConnection conn = new SqlConnection(地信212韩佳峻.connectionString);
conn.Open();
//textBox1.Text.Trim() textBox2.Text.Trim()
string sql = 'select claname as 课程名,term as 学期';
SqlDataAdapter adp1 = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
adp1.Fill(ds);
//载入基本信息
dataGridView1.DataSource = ds.Tables[0].DefaultView;
conn.Close();
}
else if (textBoxclass.Text != '' && comboBoxterm.Text != '')
{
SqlConnection conn = new SqlConnection(地信212韩佳峻.connectionString);
conn.Open();
//textBox1.Text.Trim() textBox2.Text.Trim()
string sql = 'select claname as 课程名,term as 学期';
SqlDataAdapter adp1 = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
_ = adp1.Fill(ds);
//载入基本信息
dataGridView1.DataSource = ds.Tables[0].DefaultView;
conn.Close();
}
}
private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (dataGridView1.SelectedCells.Count != 0)
{
string claid = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
SqlConnection conn = new SqlConnection(地信212韩佳峻.connectionString);
conn.Open();
//textBox1.Text.Trim() textBox2.Text.Trim()
string sql = 'select sctime as 上课时间,location as 上课地点 from sctime where claid='+claid;
SqlDataAdapter adp1 = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
adp1.Fill(ds);
//载入基本信息
conn.Close();
}
}
// ...其他代码...
}
}
代码说明:
- 该代码定义了一个名为
searchclassForm
的窗体类,该类包含一个按钮button1
和两个 DataGridView 控件dataGridView1
和dataGridView2
。 - 当用户点击
button1
时,程序会根据用户在comboBoxterm
和textBoxclass
中输入的查询条件,从数据库中查询相应的课程信息。 - 查询结果将显示在
dataGridView1
中。 - 当用户点击
dataGridView1
中的一行时,程序会根据该行的claid
值查询该课程的详细信息,并将详细信息显示在dataGridView2
中。
改进建议:
- 可以使用参数化查询来防止 SQL 注入攻击。
- 可以添加数据验证逻辑,以确保用户输入的数据是有效的。
- 可以添加错误处理机制,以处理数据库连接失败等异常情况。
希望这篇文章能够帮助你了解如何使用 C# 和 WinForm 创建一个简单的课程查询功能。
原文地址: https://gggwd.com/t/topic/fPMb 著作权归作者所有。请勿转载和采集!