简单模糊查询

王朝other·作者佚名  2007-01-18
宽屏版  字体: 小 | 中 | 大 | 超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有