开发环境:Microsoft Visual Studio2005
数据库:SQL Server2000
步骤:
step1:新建一个项目Query
文件→新建→项目→在项目类型中展开Visual C#→选中"Windows"→在模板中选择"Windows应用程序"→指定名称(Query)和位置(自定义)→确定
step2:设置主窗体(将其命名为mainFrm.cs)
置IsMdiCotianer属性值为True //设置该窗体成为多个子窗体的父窗体
step3:向主窗体添加菜单栏
向窗体中添加menuStrip控件,在控件中输入"基本信息查询(&Q)"
step4:新增一个窗体(名为queryFrm.cs)并在其中添加控件
控件名 | 属性 | 值 |
Label | Name | label1 |
Text | 查询条件 | |
Label | Name | label2 |
Text | 字段名称 | |
ComboBox | DropDownStyle | DropDownList |
textBox1 | Text | |
button1 | Name | btnquery |
Text | 查询 | |
DataGridView | Name | dataGridView1 |
Anchor | Top, Bottom, Left, Right |
step5:添加类operateDB
1、右击项目→添加→类(命名为operateDB.cs)
2、类的代码如下:
//operateDB类 用来操作数据库
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace studentMIS
{
class operateDB
{
string strconn = "server=localhost;database=studentM;integrated security=sspi;pooling=false";//本地数据库
SqlConnection conn = new SqlConnection(strconn);
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
public DataSet QueryDB(string strChoice,string strquery1,string strquery2, string strquery3,string strquery4)
{
if (strChoice == "学号")
{
cmd = conn.CreateCommand();
da.SelectCommand = cmd;
ds.Clear();
cmd.CommandText = strquery1;
da.Fill(ds, "table");
}
else if (strChoice == "姓名")
{
cmd = conn.CreateCommand();
da.SelectCommand = cmd;
ds.Clear();
cmd.CommandText = strquery2;
da.Fill(ds,"table");
}
else if (strChoice == "专业")
{
cmd = conn.CreateCommand();
da.SelectCommand = cmd;
ds.Clear();
cmd.CommandText = strquery3;
da.Fill(ds, "table");
}
else if (strChoice == "班级")
{
cmd = conn.CreateCommand();
da.SelectCommand = cmd;
ds.Clear();
cmd.CommandText = strquery4;
da.Fill(ds, "table");
}
return ds;
}
}
}
step6:运行时主窗体时如何显示查询窗体
private void 基本信息查询ToolStripMenuItem_Click(object sender, EventArgs e)
{
queryFrm qFrm = new queryFrm();
qFrm.MdiParent = this;
qFrm.Show();
}
step7:查询窗体queryFrm.cs的代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Query
{
public partial class queryFrm : Form
{
operateDB op_DB = new operateDB();
DataSet myds = new DataSet();
public queryFrm()
{
InitializeComponent();
}
private void btnquery_Click(object sender, EventArgs e)
{
string strxz =this.comboBox1.SelectedItem.ToString().Trim();
string strcx1 = "select * from student where 学号 like '%" + this.textBox1.Text.ToString().Trim() +"%'";
string strcx2 = "select * from student where 姓名 like '%" + this.textBox1.Text.ToString().Trim() + "%'";
string strcx3 = "select * from student where 专业 like '%" + this.textBox1.Text.ToString().Trim() + "%'";
string strcx4 = "select * from student where 班级 like '%" + this.textBox1.Text.ToString().Trim() + "%'";
this.myds = this.op_DB.QueryDB(strxz,strcx1,strcx2, strcx3,strcx4);
this.dataGridView1.DataSource=myds;
this.dataGridView1.DataMember="table";
}
}
}
step8:备注:数据库使用的是SQL Server2000
创建了数据库studentMIS,里面有张student表(字段数据类型不一定符合,只用来测试用的)
表结构如下:
列名 | 数据类型 | 长度 |
学号 | char | 10 |
姓名 | char | 10 |
性别 | char | 2 |
出生日期 | datatime | 8 |
身份证号 | char | 18 |
专业 | char | 30 |
班级 | char | 4 |
家庭电话 | char | 15 |
家庭住址 | char | 50 |
住宿情况 | char | 2 |
住宿地址 | char | 50 |