开发环境: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