解決ADO.NET SQLDataAdapter數據庫刪除修改和插入問題
作者:佚名
這里講解了ADO.NET SQLDataAdapter完成對數據庫的刪除修改和插入的簡單案例分析,文章有詳細的代碼,大家可以詳細的看看代碼過程。
經過長時間學習ADO.NET,于是和大家分享一下關于ADO.NET SQLDataAdapter完成對數據庫的刪除修改和插入的案例分析,看完本文你肯定可以全面理解ADO.NET的強大之處,大家趕快來看看吧!
#T#本實驗目標是要求編寫一個應用程序,利用ADO.NET SQLDataAdapter對象實現可以添加、修改、刪除學生基本信息的功能。數據庫為school,共有六個表,該應用程序中只使用了表student。數據表student中可以先存放一部分數據,便于后面處理。數據庫環境是SQL Server 2005。用鼠標雙擊各個Button控件,進入.cs文件編輯狀態準備進行開發。代碼ADO.NET SQLDataAdapter動態程序部分如下:
- 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 WindowsApplication1
- {
- public partial class Form9 : Form
- {
- private SqlConnection mycon;
- private SqlDataAdapter myada;
- private SqlCommand mycomd;
- private SqlCommandBuilder mycbd;
- private DataSet myset;
- public Form9()
- {
- InitializeComponent();
- mycon = new SqlConnection("Data Source=LKJ\\SQLEXPRESS;Initial Catalog=school;Integrated Security=True");
- mycomd = new SqlCommand("select * from student",mycon);
- myada = new SqlDataAdapter();
- myada.SelectCommand = mycomd;
- mycbd = new SqlCommandBuilder(myada);
- myset = new DataSet();
- myada.TableMappings.Add("student","student");
- myada.TableMappings[0].ColumnMappings.Add("SNO", "學號");
- myada.TableMappings[0].ColumnMappings.Add("SNAME", "姓名");
- myada.TableMappings[0].ColumnMappings.Add("SEX", "性別");
- myada.TableMappings[0].ColumnMappings.Add("BIRTHDAY", "生日");
- myada.TableMappings[0].ColumnMappings.Add("CLASS", "班級");
- }
- /// <summary>
- /// 數據修改
- /// </summary>
- private void button1_Click(object sender, EventArgs e)
- {
- try
- {
- //將更改的數據更新到數據表里
- myada.Update(myset.Tables["student"].GetChanges());
- MessageBox.Show("數據庫修改成功","成功信息");
- //DataTable接受更改,以便為下一次更改作準備
- myset.Tables["student"].AcceptChanges();
- }
- catch (SqlException ex)
- {
- MessageBox.Show(ex.ToString());
- }
- }
- /// <summary>
- /// 初始化數據
- /// </summary>
- private void Form9_Load(object sender, EventArgs e)
- {
- try
- {
- myada.Fill(myset, "student");
- }
- catch (SqlException ex)
- {
- MessageBox.Show(ex.ToString());
- }
- finally
- {
- mycon.Close();
- }
- dataGridView1.DataSource = myset.Tables["student"].DefaultView;
- }
- /// <summary>
- /// 數據刪除
- /// </summary>
- private void button2_Click(object sender, EventArgs e)
- {
- if (MessageBox.Show("確定要刪除當前行數據?", "", MessageBoxButtons.OKCancel) == DialogResult.OK)
- {
- try
- {
- //從DataTable中刪除當前選中的行
- myset.Tables[0].Rows[dataGridView1.CurrentRow.Index].Delete();
- //將更改的數據更新到數據表里
- myada.Update(myset.Tables[0].GetChanges());
- MessageBox.Show("數據刪除成功!");
- //DataTable接受更改,以便為下一次更改作準備
- myset.Tables[0].AcceptChanges();
- }
- catch (SqlException ex)
- {
- MessageBox.Show(ex.ToString());
- }
- }
- else
- {
- //取消對DataTable的更改
- myset.Tables[0].RejectChanges();
- }
- }
- }
責任編輯:田樹
來源:
博客