目录
总复习
HTML 点击事件
实例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>总复习</title>
<script src="jquery.min.js"></script>
</head>
<style>
.box {
width: 100%;
height: 500px;
background-color: red;
display: none;
}
.hideBox {
float: right;
}
</style>
<script>
$(function (){
function boxShow() {
//让红色的盒子显示
$(".box").css("display","block");
}
//选中按钮
$(".showBox").click(boxShow);
function boxHide() {
//让红色的盒子隐藏
$(".box").css("display","none");
}
//隐藏盒子
$(".hideBox").click(boxHide);
})
</script>
<body>
<button class="showBox">显示盒子</button>
<div class="box">
<button class="hideBox">隐藏盒子</button>
</div>
</body>
</html>
断开式连接
using System;
using System.Data;
using System.Data.SqlClient;
namespace db11071124升级
{
internal class Program
{
public static void Main(string[] args)
{
//查一下数据
DbHelper dbHelper = new DbHelper();
String sql = "select * from sanguo";
//让帮手干活
SqlDataReader reader = dbHelper.@select(sql);
DataSet ds = dbHelper.GetDataSet(sql);
string s = ds.Tables["table"].Rows[0]["name"].ToString();
Console.WriteLine(s);
//卡顿
Console.ReadKey();
}
}
}
获取仓库的方法
//断开式
//获取仓库的方法
public DataSet GetDataSet(String sql)
{
SqlConnection conn = getConn();
SqlDataAdapter adapter = new SqlDataAdapter(sql,conn);
DataSet ds = new DataSet();
adapter.Fill(ds, "table");
return ds;
}
断开式获取表格的方法
//获取断开式获取表格的方法
public DataTable getDataTable(String sql)
{
SqlConnection conn = getConn();
SqlDataAdapter adapter = new SqlDataAdapter(sql,conn);
DataSet ds = new DataSet();
adapter.Fill(ds, "table");
DataTable dt = ds.Tables["table"];
return dt;
}
public static void Main(string[] args)
{
//查一下数据
DbHelper dbHelper = new DbHelper();
String sql = "select * from sanguo";
//让帮手干活
SqlDataReader reader = dbHelper.@select(sql);
DataTable ds = dbHelper.getDataTable(sql);
string s = ds.Rows[0]["name"].ToString();
Console.WriteLine(s);
//卡顿
Console.ReadKey();
}
窗体注意
新建窗口
private void tsmlAdd_Click(object sender, EventArgs e)
{
//实例化窗口
Son son = new Son();
//设置儿子窗口
son.MdiParent = this;
//显示窗口
son.Show();
}
组合框
拿取下标
private void button1_Click(object sender, EventArgs e)
{
int index = comboBox1.SelectedIndex;
MessageBox.Show(index.ToString());
}
删除数据
private void button1_Click(object sender, EventArgs e)
{
int index = comboBox1.SelectedIndex;
comboBox1.Items.RemoveAt(index);
MessageBox.Show(index.ToString());
}
小案例
需求:点击按钮将文本框中的内容添加到我的下拉列表框中
代码:
private void button1_Click(object sender, EventArgs e)
{
//拿取文本框的数据
String textBox = textBox1.Text;
//Trim 去掉开头和末尾空格
if (textBox.Trim().Length == 0)
{
MessageBox.Show("请输入数据!");
return;
}
MessageBox.Show(textBox);
//将数据添加到文本框中
comboBox1.Items.Add(textBox);
textBox1.Text = "";
}
连接式绑定
效果:
代码:
private void Form1_Load(object sender, EventArgs e)
{
//目标连接组合框中添加英雄姓名
//召唤帮手
DbHelper helper = new DbHelper();
//明确查询语句
String sql = "select * from sanguo";
//帮手干活
SqlDataReader reader = helper.@select(sql);
//处理干活的结果
while (reader.Read())
{
//获取名称
String name = reader["name"].ToString();
//把数据放到组合框中
comboBox1.Items.Add(name);
}
}
断开式
效果:
代码
private void Form1_Load(object sender, EventArgs e)
{
//目标连接组合框中添加英雄姓名
//召唤帮手
DbHelper helper = new DbHelper();
//明确查询语句
String sql = "select * from sanguo";
//让帮手干活, 安一个仓库表
DataTable table = helper.getDataTable(sql);
//控件绑定数据(注意,显示的值和实际值)
comboBox1.DisplayMember = "name";
comboBox1.DataSource = table;
}
ListView连接式添加数据
效果
代码:
private void Form1_Load(object sender, EventArgs e)
{
//连接式数据库中取值存放到 lv 中
//召唤帮手
DbHelper helper = new DbHelper();
//查询语句
String sql = "select name as n,sex as s,country as c from sanguo";
//帮手干活-》朗读者
SqlDataReader reader = helper.@select(sql);
//处理数据朗读者
while (reader.Read())
{
//获取数据
String name = reader["n"].ToString();
String sex = reader["s"].ToString();
String country = reader["c"].ToString();
//有一行数据就必须有一个lv的项
ListViewItem item = new ListViewItem();
item.Text = name;
item.SubItems.Add(sex);
item.SubItems.Add(country);
listView1.Items.Add(item);
}
删除数据
首先
获取id
private void Form1_Load(object sender, EventArgs e)
{
//连接式数据库中取值存放到 lv 中
//召唤帮手
DbHelper helper = new DbHelper();
//查询语句
String sql = "select id,name as n,sex as s,country as c from sanguo";
//帮手干活-》朗读者
SqlDataReader reader = helper.@select(sql);
//处理数据朗读者
while (reader.Read())
{
//获取数据
String id = reader["id"].ToString();
String name = reader["n"].ToString();
String sex = reader["s"].ToString();
String country = reader["c"].ToString();
//有一行数据就必须有一个lv的项
ListViewItem item = new ListViewItem();
item.Text = name;
item.SubItems.Add(sex);
item.SubItems.Add(country);
//将id 藏住
item.Tag = id;
listView1.Items.Add(item);
}
}
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
//获取当前选中的行
int itemsCount = listView1.SelectedItems.Count;
//如果我没有选中行
if (itemsCount == 0)
{
return;
}
//获取选中行中的0号成员
ListViewItem item = listView1.SelectedItems[0];
//获取当前项的数据
string id = item.Tag.ToString();
MessageBox.Show(id);
}
效果
获取id 后可以利用RemoveAt 删除
//获取选中行中的0号成员
ListViewItem item = listView1.SelectedItems[0];
//获取当前项的数据
string id = item.Tag.ToString();
int itemIndex = item.Index;
listView1.Items.RemoveAt(itemIndex);
删除后台数据
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace db11071124ListView连接数据库
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//连接式数据库中取值存放到 lv 中
//召唤帮手
DbHelper helper = new DbHelper();
//查询语句
String sql = "select id,name as n,sex as s,country as c from sanguo";
//帮手干活-》朗读者
SqlDataReader reader = helper.@select(sql);
//处理数据朗读者
while (reader.Read())
{
//获取数据
String id = reader["id"].ToString();
String name = reader["n"].ToString();
String sex = reader["s"].ToString();
String country = reader["c"].ToString();
//有一行数据就必须有一个lv的项
ListViewItem item = new ListViewItem();
item.Text = name;
item.SubItems.Add(sex);
item.SubItems.Add(country);
//将id 藏住
item.Tag = id;
listView1.Items.Add(item);
}
}
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
//获取当前选中的行
int itemsCount = listView1.SelectedItems.Count;
//如果我没有选中行
if (itemsCount == 0)
{
return;
}
//获取选中行中的0号成员
ListViewItem item = listView1.SelectedItems[0];
//获取当前项的数据
string id = item.Tag.ToString();
int itemIndex = item.Index;
listView1.Items.RemoveAt(itemIndex);
//删后台数据
DbHelper helper = new DbHelper();
String sql = String.Format("delete from sanguo where id = {0}",id);
int n = helper.update(sql);
if (n > 0)
{
MessageBox.Show("删除成功");
}
else
{
MessageBox.Show("删除失败!");
}
}
}
}
效果:
回顾
ListView
comboBox 组合框
datagridview 数据表
断开式绑定数据
效果:
此操作必须在窗口加载的时候执行
代码:
private void Form1_Load(object sender, EventArgs e)
{
//关闭空行
dataGridView1.AllowUserToAddRows = false;
//关闭自动生成列
dataGridView1.AutoGenerateColumns = false;
//召唤帮手
DbHelper helper = new DbHelper();
//sql语句
String sql = "select * from sanguo;";
//帮手干活,得到仓库的表
DataTable dt = helper.getDataTable(sql);
//绑定数据
dataGridView1.DataSource = dt;
}
删除数据
扩展
//获取列的数据 选中行的 索引为1 的数据 就是 name 的显示文本
string s = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
实现效果:
注意:这里是不仅要前端删除了后端也要删除,不然下一次打开就还是有那个数据
代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace db11071126
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//关闭空行
dataGridView1.AllowUserToAddRows = false;
//关闭自动生成列
dataGridView1.AutoGenerateColumns = false;
//召唤帮手
DbHelper helper = new DbHelper();
//sql语句
String sql = "select * from sanguo;";
//帮手干活,得到仓库的表
DataTable dt = helper.getDataTable(sql);
//绑定数据
dataGridView1.DataSource = dt;
}
private void tsmlDelete_Click(object sender, EventArgs e)
{
//判断选中的是否是空行
int count = dataGridView1.SelectedRows.Count;
if (count == 0)
{
MessageBox.Show("请选中行在操作!");
return;
}
//获取列的s索引
int index = dataGridView1.SelectedRows[0].Index;
//拿id
string id = dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();
//从行集合中删除成员,用索引来删除
dataGridView1.Rows.RemoveAt(index);
//借用帮手
DbHelper helper = new DbHelper();
String sql = String.Format("delete from sanguo where id = '{0}';", id);
//帮手干活
int update = helper.update(sql);
//处理这个结果
if (update > 0)
{
MessageBox.Show("删除成功!");
}
else
{
MessageBox.Show("删除失败!");
}
}
}
}
下一次打开
搜索数据
效果:
使用技术点模糊查询
代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace db11071126
{
public partial class Form1 : Form
{
DataTable dt;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//关闭空行
dataGridView1.AllowUserToAddRows = false;
//关闭自动生成列
dataGridView1.AutoGenerateColumns = false;
//召唤帮手
DbHelper helper = new DbHelper();
//sql语句
String sql = "select * from sanguo;";
//帮手干活,得到仓库的表
dt = helper.getDataTable(sql);
//绑定数据
dataGridView1.DataSource = dt;
}
private void tsmlDelete_Click(object sender, EventArgs e)
{
//判断选中的是否是空行
int count = dataGridView1.SelectedRows.Count;
if (count == 0)
{
MessageBox.Show("请选中行在操作!");
return;
}
//获取列的s索引
int index = dataGridView1.SelectedRows[0].Index;
//拿id
string id = dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();
//从行集合中删除成员,用索引来删除
dataGridView1.Rows.RemoveAt(index);
//借用帮手
DbHelper helper = new DbHelper();
String sql = String.Format("delete from sanguo where id = '{0}';", id);
//帮手干活
int update = helper.update(sql);
//处理这个结果
if (update > 0)
{
MessageBox.Show("删除成功!");
}
else
{
MessageBox.Show("删除失败!");
}
}
private void btnSearch_Click(object sender, EventArgs e)
{
//获取文本框的内容
string text = txtSearchBox.Text;
//进行数据过滤
DataView dv = new DataView(dt);
//使用 dataView 过滤
String cond = String.Format("name like '%{0}%'", text);
//过滤
dv.RowFilter = cond;
//重新绑定数据
dataGridView1.DataSource = dv;
}
}
}