在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(
"修改失败!");
            }

        }



    }

}

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值