110,546
社区成员
发帖
与我相关
我的任务
分享
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;
using System.Configuration;
namespace Chapter7_DataGridView
{
public partial class Form1 : Form
{
private SqlDataAdapter sdaDiary;// 声明SqlDataAdapter对象sdaDiary
private SqlDataAdapter sdaCategory;// 声明SqlDataAdapter对象sdaDiary
private SqlDataAdapter sdaCategoryDetail;// 声明SqlDataAdapter对象sdaDiary
private DataSet dsDiary;// 声明DataTable对象dsDiary
private DataTable dtDiary;
private DataTable dtCategory;
private DataTable dtCategoryDetail;
private string sqlConn = ConfigurationManager.ConnectionStrings["sqlConn"].ToString();// 读取app.config的连接数据
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 窗体加载方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
this.Text = "DataGridView增删改";
dsDiary = new DataSet();
string sqlStrDiary = "select * from Diary";
sdaDiary = new SqlDataAdapter(sqlStrDiary, sqlConn);
dtDiary = new DataTable("Diary");
dsDiary.Tables.Add(dtDiary);
sdaDiary.Fill(dsDiary, "Diary");//填表
string sqlStrCategory = "select CategoryName from Category";
sdaCategory = new SqlDataAdapter(sqlStrCategory, sqlConn);
dtCategory = new DataTable("Category");
dsDiary.Tables.Add(dtCategory);
sdaCategory.Fill(dsDiary, "Category");
string sqlStrCategoryDetail = "select CategoryDetailName from CategoryDetail";
sdaCategoryDetail = new SqlDataAdapter(sqlStrCategoryDetail, sqlConn);
dtCategoryDetail = new DataTable("CategoryDetail");
dsDiary.Tables.Add(dtCategoryDetail);
sdaCategoryDetail.Fill(dsDiary, "CategoryDetial");
// SetupColumns(dsDiary); //DataGridView界面定制
// dgvTable.AutoGenerateColumns = false;//不自动创建表格
//dgvTable.RowTemplate.Height = 20;//行高
this.dgvTableDiary.DataSource = dsDiary.Tables[0];//绑定table0到DataGridView的数据源
this.dgvTableCategory.DataSource = dsDiary.Tables[1];
this.dgvTableCategoryDetail.DataSource = dsDiary.Tables[2];
SqlCommandBuilder scb = new SqlCommandBuilder(sdaDiary);//建立增删改自动命令
sdaDiary.InsertCommand = scb.GetInsertCommand();
sdaDiary.UpdateCommand = scb.GetUpdateCommand();
sdaDiary.DeleteCommand = scb.GetDeleteCommand();
}
/// <summary>
/// 执行DataGridView自动更新数据库
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnSave_Click(object sender, EventArgs e)
{
sdaDiary.Update(dsDiary);
}
}
}