zoukankan      html  css  js  c++  java
  • C#2005中使用控件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(id,ption) 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 para
    = new SqlParameter();
         da.DeleteCommand
    = conn.CreateCommand();
         da.DeleteCommand.CommandText
    = "delete from region where regionid=@id";
         para
    = da.DeleteCommand.Parameters.Add("@id", SqlDbType.Int, 4, "regionid");
         para .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 para
    = 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");

         para 
    = da.UpdateCommand.Parameters.Add("@oldid", SqlDbType.Int, 4, "regionid");
         para .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(
    "修改失败!");
         }
    }
    }
    }

    作者:zeke     
              出处:http://zhf.cnblogs.com/
              本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 

  • 相关阅读:
    正则表达式周二挑战赛 第七周
    [译]视区百分比,canvas.toBlob()以及WebRTC
    [译]因扩展Object.prototype而引发Object.defineProperty不可用的一个问题
    [译]JavaScript需要类吗?
    [译]JavaScript中几种愚蠢的写法
    [译]JavaScript中对象的属性
    JavaScript:数组的length属性
    [译]JavaScript中的变量声明:你可以打破的三条规则
    [译]ES6:JavaScript中将会有的几个新东西
    [译]ECMAScript 6中的集合类型,第三部分:WeakMap
  • 原文地址:https://www.cnblogs.com/ZHF/p/zhangfeng.html
Copyright © 2011-2022 走看看