DataGridView删除和更新数据
删除
- 新建窗口添加DataGridView控件调整属性
- 新建一个menuStrip控件添加数据
- 再添加一个contextMenusStrip控件
- 双击删除按钮编写代码
运行它(能成功才叫怪前面还没说呢)
- 言归正传先双击窗体控件然后添加loading方法(loading就是个变量名和我一起准没错)
- 再将loading方法定义
- 改变链接位子方便之后操作
更新
更新也不多删除基本以实现将他实例化就行
- 双击更新按钮弹出代码框架书写代码
总结
代码详情
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;
using System.Data.SqlClient;
namespace DataGridView控件知识
{
public partial class Form1 : Form
{
//小车
SqlDataAdapter adapter;
//数据集
DataSet ds = new DataSet();
//连接对象
SqlConnection conn;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//加载方法
loading();
}
//定义加载方法
public void loading()
{
//数据集
//清空一下仓库
if (ds.Tables.Count > 0)
{
ds.Tables["hero"].Clear();
}
//sql语句
String sql = "select * from zhanguo";
//连接对象
//连接类 链接对象名称 = new 连接类(连接字符串);
String connString = "Data Source=.;Initial Catalog=text;Integrated Security=True";
conn = new SqlConnection(connString);
//小车
//小车类 小车名称 = new 小车类(sql,连接对象)
adapter = new SqlDataAdapter(sql,conn);
//小车卸货到仓库
adapter.Fill(ds,"hero");
//核心操作
//关闭自动列的添加
dataGridView1.AutoGenerateColumns = false;
//控件绑定数据源
//控件对象.DataSource = 仓库.Tables[表名称]
dataGridView1.DataSource = ds.Tables["hero"];
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void gengxin_Click(object sender, EventArgs e)
{
//更新数据
//实例化一个更新用的对象
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
//提示内容
MessageBox.Show("更新成功");
//小车更新数据
adapter.Update(ds, "hero");
}
private void 删除行dToolStripMenuItem_Click(object sender, EventArgs e)
{
//最终目的获得选中行的第一个单元格里面的值
//控件.当前行
//1.获得选中的行
DataGridViewRow currentRow = dataGridView1.CurrentRow;
//2.获得该行的第0好索引的单元格
DataGridViewCell currentCell = currentRow.Cells[0];
//3.获得该单元格的value值
String value = currentCell.Value.ToString();
/*MessageBox.Show(value);*/
//4.通过连接式删除数据
//通过链接对象删除这个数据
String sql = "delete from zhanguo where id = " + value;
//新建一个执法者
SqlCommand cmd = new SqlCommand(sql,conn);
//打开链接
try
{
//可能会出错
conn.Open();
//执法者方法调用
int n = cmd.ExecuteNonQuery();
//输出结果
MessageBox.Show("删除成功,影响行数为:" + n);
//重新load一下数据
loading();
}
catch
{
//提示出错
MessageBox.Show("error");
}
finally {
//关闭连接对象
conn.Close();
}
}
}
}