ADO.NET WinForm 编程案例(一)

来源:互联网 发布:web软件测试 编辑:程序博客网 时间:2024/04/27 21:45

创建 WinForm 数据库应用程序执行模糊查询
要求输入用户名在数据库中检索用户名并显示该用户的详细信息
使用 ListView 控件显示用户信息

创建示例数据库
数据库示例代码

use mastergoif exists(select * from sysdatabases where name='test3')drop database test3gocreate database test3 on primary(name='test3_data',filename='D:\test3_data.mdf',size=5mb,maxsize=10mb,filegrowth=1mb)log on(name='test3_log',filename='D:\test3_log.ldf',size=5mb,maxsize=10mb,filegrowth=1mb)gouse test3goif exists(select * from sysobjects where name='Students')drop table Studentsgocreate table Students(studentId varchar(20) primary key not null,userName varchar(20) null,name varchar(20) null,userStateId int null)goinsert into Students (studentid,username,name,userStateId) values ('100001','leeho','小白',1)insert into Students (studentid,username,name,userStateId) values ('100002','dna','小黑',0)go

设计窗体

设置 ListView 控件的 Columns 属性 添加4项
将 ListView 控件的 View 属性设置为 Details

创建DBHelper类

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;namespace ADOWinForm{    class DBHelper    {        public static string conStr = "Data Source=.;Initial Catalog=Test3;"+            "User ID=sa;Pwd=leeho";        public static SqlConnection con = new SqlConnection(conStr);    }}

构建 Form1 代码

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 ADOWinForm{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();            /*使用代码初始化界面设置            this.listView1.View = View.Details;            ColumnHeader CuserName = new ColumnHeader();            CuserName.Text = "用户名";            ColumnHeader CName = new ColumnHeader();            CName.Text = "姓名";            ColumnHeader CstudentId = new ColumnHeader();            CstudentId.Text = "学号";            ColumnHeader Cstate = new ColumnHeader();            Cstate.Text = "状态";            listView1.Columns.Add(CuserName);            listView1.Columns.Add(CName);            listView1.Columns.Add(CstudentId);            listView1.Columns.Add(Cstate);            */        }        //检查用户名是否为空        public bool CheckInput()        {            if (textBox1.Text.Trim() == "")            {                MessageBox.Show("请输入用户名!");                //设置光标位置                textBox1.Focus();                return false;            }            else            {                return true;            }        }        //查找并填充 ListView 控件        public void FillListView()        {            //学生ID            string studentId;            //用户名            string userName;            //姓名            string name;            //状态            int userStateId;            //状态字符串形式            string userState;            //SQL 查询语句            string sql = string.Format("select studentId,userName,name,userStateId from "            +"Students where userName like '%{0}%'", textBox1.Text);            try            {                //创建 Command 对象                SqlCommand comm = new SqlCommand(sql, DBHelper.con);                //打开数据库连接                DBHelper.con.Open();                //执行 Command 的 ExecuteReader() 方法 返回 DataReader 对象                SqlDataReader dataReader = comm.ExecuteReader();                //清空 ListView 控件                listView1.Items.Clear();                //如果没有记录                if (!dataReader.HasRows)                {                    MessageBox.Show("没有找到!");                }                else                {                    //循环读取下一条记录                    while (dataReader.Read())                    {                        //将数据库查到的列值保存到变量中                        studentId = (string)dataReader["studentId"];                        userName = (string)dataReader["userName"];                        name = (string)dataReader["name"];                        userStateId = (int)dataReader["userStateId"];                        //将状态值转换为字符串形式                        userState=userStateId==1?"活动":"非活动";                        //创建 ListView 项                        ListViewItem item = new ListViewItem();                        //设置项头                        item.Text = userName;                        //设置Tag属性                        //item.Tag = (string)dataReader["studentId"];                        //在项中添加属性                        item.SubItems.AddRange(new string[] { name, studentId, userState });                        //将 ListView 项添加到 ListView 控件中                        listView1.Items.Add(item);                    }                }                //关闭 DataReader 对象                dataReader.Close();            }            catch (Exception ex)            {                MessageBox.Show(ex.Message);            }            finally            {                //关闭数据库                DBHelper.con.Close();            }        }        //查询按钮事件        private void button1_Click(object sender, EventArgs e)        {            //检查用户名是否为空            if (CheckInput())            {                //执行检索数据                FillListView();            }        }    }}



 

原创粉丝点击