1. 程式人生 > >c#資料庫操作DataGridView控制元件的使用,ADO.NET

c#資料庫操作DataGridView控制元件的使用,ADO.NET

適合初學者,0基礎;

題目:

利用DataGridView控制元件和ADO.NET完成資料的顯示,刪除,修改等;

最終執行的效果如圖所示:

步驟:

1.首先同樣步驟:開啟vs2010,File->new->project->windows Form Application

2.從toolbox中拖動dataGridView控制元件到窗體中,調整到合適大小;

3.然後編寫程式碼階段;雙擊form,編寫form 的load事件;

1.首先先是連線資料庫,連線成功後,選擇資料庫中的所有內容,顯示到datagridview中;

首先要注意的是,要在前面加入如下引用:using System.Data.SqlClient;

2.設定三個按鈕,一個查詢,一個儲存修改,一個刪除;

3.在雙擊每個按鈕,編寫按鈕的click事件,完成才查詢,修改,刪除;

最終的程式碼如下所示:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace FormDabase
{
    public partial class Form1 : Form
    {
        string conString;
        SqlConnection sqlCon;
        string selectStr;
        SqlCommand cmd;
        SqlDataAdapter sda;//dataadapter類表示一組SQL命令和一個數據庫連線,他們用於填充DataSet和更新資料來源
            //她用作DataSet和資料來源之間的橋接器一遍檢索和儲存資料,她通過對映Fill和Update方法來提供這樣橋接器
        DataSet ds;//資料集
        DataTable dTable;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)//編寫form的load事件
        {
            //連線資料庫的步驟:command物件對資料來源執行增刪改查操作
            conString = "server=localhost;database=greenhouse;uid=sa;pwd=123;";//連線資料庫的字串
            sqlCon = new SqlConnection(conString);
            sqlCon.Open();
            selectStr = "select * from house";
            sda = new SqlDataAdapter();
            cmd = new SqlCommand(selectStr, sqlCon);
            sda.SelectCommand = cmd;
            dTable = new DataTable();
            sda.Fill(dTable);
            dataGridView1.DataSource = dTable;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            sda.SelectCommand.CommandText = "select * from house where hou_name like '" + textBox1.Text+"%'";//需要注意的是查詢字串的寫法,注意‘’不要丟掉
            dTable.Clear();
            sda.Fill(dTable);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            SqlCommandBuilder scb = new SqlCommandBuilder(sda);
            sda.Update(dTable);
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if(MessageBox.Show("您確定刪除?","刪除?",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==DialogResult.Yes)
            {
                int row=dataGridView1.CurrentRow.Index;//獲取當前行的索引值
                DataRow dr=dTable.Rows[row];//獲取當前行
                dr.Delete();
                //實現同步更新
                SqlCommandBuilder scb=new SqlCommandBuilder(sda);
                sda.Update(dTable);
            }
        }
    }
}

附:整個的工程原始碼在我的資源中,可下載。