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(); } } }}
- ADO.NET WinForm 编程案例(一)
- 【转】.net数据库编程学习一:ADO.NET 结构
- ADO.NET三个经典案例
- ADO.NET三个经典案例
- ADO.NET 2.0编程
- ADO.NET(一)
- ADO.NET笔记一
- ADO.NET笔记一
- ado.net(一)
- ADO.NET温习(一)
- ADO.NET连载(一)初识ADO.NET
- .NET 2.0 - WinForm Control - DataGridView 编程36计(一)
- .NET 2.0 - WinForm Control - DataGridView 编程36计(一)
- .NET 2.0 - WinForm Control - DataGridView 编程36计(一)
- NET 2.0 - WinForm Control - DataGridView 编程36计(一)
- .NET 2.0 - WinForm Control - DataGridView 编程36计(一)
- NET 2.0 - WinForm Control - DataGridView 编程36计(一)
- .NET 2.0 - WinForm Control - DataGridView 编程36计(一)
- 从Delphi 7升级到Delphi XE (2)
- 3、可执行文件ELF && 几个重要的编译
- ibus 的谷歌拼音输入法发布
- C#_ACCP_Windows_ADO.NET(三)
- Ubuntu下声音的控制方法
- ADO.NET WinForm 编程案例(一)
- python 编码
- android 自定义view 不执行 ondraw的解决办法
- 【二分】hdu 4004
- ubuntu下编译openJdk - 6
- 直线与椭圆相交求交点
- <转载>字符编码简介:ASCII,Unicode,UTF-8,GB2312
- Ogre中的贴花
- Ogre字体code_points生成工具