在C#中使用控件DataGridView实现数据库增删改查
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Data.SqlClient;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- namespace DataSource
- ...{
- public partial class Form1 : Form
- ...{
- public Form1()
- ...{
- InitializeComponent();
- }
- private DataSet ds = new DataSet();
- private SqlConnection conn = null;
- private SqlDataAdapter da = null;
- private const string DRIVER = "server=.;database=northwind;uid=sa;pwd=sa";
- private const string sql_select = "select * from region";
- /**//**
- * 此方法为将数据库northwind中的region表的数据查询出来并放入DataSet中
- **/
- private void Form1_Load(object sender, EventArgs e)
- ...{
- conn = new SqlConnection(DRIVER);
- da = new SqlDataAdapter(sql_select,conn);
- da.Fill(ds,"table");
- this.dataGridView1.DataSource = ds.Tables["table"].DefaultView;
- }
- private bool BtnInsert() //此方法作用于添加
- ...{
- da.InsertCommand = conn.CreateCommand();
- da.InsertCommand.CommandText = "insert into region values(@id,@ption)";
- da.InsertCommand.Parameters.Add("@id", SqlDbType.Int, 4, "regionid");
- da.InsertCommand.Parameters.Add("@ption", SqlDbType.VarChar, 10, "regiondescription");
- int count = da.Update(ds);
- bool result = count > 0 ? true : false;
- return result;
- }
- private void button1_Click(object sender, EventArgs e)
- ...{
- if (this.BtnInsert())//调用此方法
- ...{
- MessageBox.Show("添加成功!");
- }
- else
- ...{
- MessageBox.Show("添加失败!");
- }
- }
- private bool BtnDelect() //此方法作用于删除
- ...{
- SqlParameter sp = new SqlParameter();
- da.DeleteCommand = conn.CreateCommand();
- da.DeleteCommand.CommandText = "delete region where regionid=@id";
- sp = da.DeleteCommand.Parameters.Add("@id", SqlDbType.Int, 4, "regionid");
- sp.SourceVersion = DataRowVersion.Original;
- ds.Tables["table"].Rows[this.dataGridView1.CurrentRow.Index].Delete();
- int count = da.Update(ds);
- bool result = count > 0 ? true : false;
- return result;
- }
- private void button2_Click(object sender, EventArgs e)
- ...{
- if (this.BtnDelect())//调用删除方法
- ...{
- MessageBox.Show("删除成功!");
- }
- else
- ...{
- MessageBox.Show("删除失败!");
- }
- }
- private bool BtnUpdate() //此方法作用于修改
- ...{
- SqlParameter sp = new SqlParameter();
- da.UpdateCommand = conn.CreateCommand();
- da.UpdateCommand.CommandText = "update region set regionid=@id,regiondescription=@ption where regionid=@oldid";
- da.UpdateCommand.Parameters.Add("@id", SqlDbType.Int, 4, "regionid");
- da.UpdateCommand.Parameters.Add("@ption", SqlDbType.VarChar, 10, "regiondescription");
- sp = da.UpdateCommand.Parameters.Add("@oldid", SqlDbType.Int, 4, "regionid");
- sp.SourceVersion = DataRowVersion.Original;
- int count = da.Update(ds);
- bool result = count > 0 ? true : false;
- return result;
- }
- private void button3_Click(object sender, EventArgs e)
- ...{
- if (this.BtnUpdate())//调用修改方法
- ...{
- MessageBox.Show("修改成功!");
- }
- else
- ...{
- MessageBox.Show("修改失败!");
- }
- }
- }
- }