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);
}
}
}
}
附:整個的工程原始碼在我的資源中,可下載。