还是仿老师做的实例,只是稍加改去了一下下:
创建数据库脚本:
CREATE DATABASE [OneDB] ON PRIMARY
( NAME = N'OneDB', FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\OneDB.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'OneDB_log', FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\OneDB_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
创建表:(我把上次用过的表也放上来吧)
CREATE TABLE [dbo].[Books](
[id] [int] IDENTITY(1,1) NOT NULL,
[bname] [varchar](50) NULL,
[price] [decimal](3, 1) NULL,
[class] [char](1) NULL,
PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[People](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [varchar](50) NULL,
[sex] [varchar](2) NULL,
[age] [int] NULL
) ON [PRIMARY]
GO
为表中插入入些数据
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 WF27
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string connstr = "Data Source=127.0.0.1;Initial Catalog=OneDB;Integrated Security=True";
string sqlstr = "select distinct class from Books";
/// <summary>
/// 窗口加载时加载下拉列表
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
cbClass.Text = "***下拉选择***";
using (SqlConnection conn = new SqlConnection(connstr))
{
SqlCommand cmd = new SqlCommand(sqlstr, conn);
cmd.CommandType = CommandType.Text;
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
while (sdr.Read())
{
cbClass.Items.Add(sdr["class"]+"--->点击打开");
}
sdr.Close();
}
}
/// <summary>
/// 筛选指定类别的图书
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void cbClass_SelectedIndexChanged(object sender, EventArgs e)
{
listView1.Items.Clear();
if (cbClass.Text != "***下拉选择***")
{
int i = cbClass.Text.IndexOf("--->");
string str = cbClass.Text.Substring(0, i);
sqlstr = "select * from Books where class='"+str+"'";
using (SqlConnection conn = new SqlConnection(connstr))
{
SqlCommand cmd = new SqlCommand(sqlstr, conn);
cmd.CommandType = CommandType.Text;
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
while (sdr.Read())
{
ListViewItem lvi=new ListViewItem(sdr["id"].ToString());
lvi.SubItems.Add(sdr["bname"].ToString());
lvi.SubItems.Add(sdr["price"].ToString()+"元");
listView1.Items.Add(lvi);
}
}
}
}
}
}
至于代码中的方法名子大多是根据控件名自动生成的,
亲可以自行调整: