ado.net c#.net2005 From第一讲(BindingDemoForm8)

来源:互联网 发布:java 支付宝转账 编辑:程序博客网 时间:2024/05/17 18:27

数据库见:ado.net c#.net2005 From第一讲(BindingDemoForm2)  

运行界面:

cs代码:

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace ch1
{
    
public partial class BindingDemoForm8 : Form
    
{
        
public BindingDemoForm8()
        
{
            InitializeComponent();
        }

        
// 資料集物件的類別層級建立
        DataSet ds = new DataSet();

        
// CurrencyManager 物件的類別層級宣告
        BindingManagerBase bmFoxStudio;

        
// 定義一個內含 EveryDepartment 物件的陣列來作為 ComboBox 控制項的資料來源
        EveryDepartment[] AllDepartments = new EveryDepartment[] new EveryDepartment("生產製造部"), new EveryDepartment("行銷部"), new EveryDepartment("財務部"), new EveryDepartment("會計部"), new EveryDepartment("業務部"), new EveryDepartment("資訊部") };

        
private void BindingDemoForm8_Load(object sender, System.EventArgs e)
        
{
            
// 設定表單的最小大小
            this.MinimumSize = new Size(512494);

            
// 建立一個連接字串
            string strConnection = "Server=(local);Database=ch1;uid=sa;pwd=";

            
// 建立一個查詢命令字串
            string strSql = "SELECT 身份證字號,姓名,員工性別,住家地址,出生日期,目前薪資,部門,自傳 FROM 飛狐工作室";

            
// 建立一個資料連接
            SqlConnection myConnection = new SqlConnection(strConnection);

            
// 建立一個資料配接器以便針對資料來源執行 SELECT 陳述式來提取出要填入資料集的資料記錄
            SqlDataAdapter myAD = new SqlDataAdapter(strSql, myConnection);

            
// 將資料填入資料集
            myAD.Fill(ds, "飛狐工作室");

            
// 將 TextBox 控制項的 Text 屬性繫結至資料集 ds 內之「飛狐工作室」資料表的「身份證字號」欄位
            TextBoxID.DataBindings.Add("Text", ds, "飛狐工作室.身份證字號");
            
// 將 TextBox 控制項的 Text 屬性繫結至資料集 ds 內之「飛狐工作室」資料表的「姓名」欄位
            TextBoxName.DataBindings.Add("Text", ds, "飛狐工作室.姓名");
            
// 將 CheckBox 控制項的 Checked 屬性繫結至資料集 ds 內之「飛狐工作室」資料表的「員工性別」欄位
            CheckBoxGender.DataBindings.Add("Checked", ds, "飛狐工作室.員工性別");
            
// 將 TextBox 控制項的 Text 屬性繫結至資料集 ds 內之「飛狐工作室」資料表的「住家地址」欄位
            TextBoxAddress.DataBindings.Add("Text", ds, "飛狐工作室.住家地址");
            
// 將 DateTimePicker 控制項的 Value 屬性繫結至資料集 ds 內之「飛狐工作室」資料表的「出生日期」欄位
            DateTimePickerBirthday.DataBindings.Add("Value", ds, "飛狐工作室.出生日期");
            
// 將 NumericUpDown 控制項的 Value 屬性繫結至資料集 ds 內之「飛狐工作室」資料表的「目前薪資」欄位
            NumericUpDownSalary.DataBindings.Add("Value", ds, "飛狐工作室.目前薪資");
            
// 將 TextBox 控制項的 Text 屬性繫結至資料集 ds 內之「飛狐工作室」資料表的「自傳」欄位
            TextBoxContent.DataBindings.Add("Text", ds, "飛狐工作室.自傳");

            
// 將 ComboBox 控制項的資料來源設定成 AllDepartments 陣列
            ComboBoxDepartment.DataSource = AllDepartments;
            
// 將 DisplayMember 屬性設定為 EveryDepartment 物件的 DepartmentName 屬性(EveryDepartment.DepartmentName)
            ComboBoxDepartment.DisplayMember = "DepartmentName";
            
// 設定 EveryDepartment 物件的 DepartmentName 屬性值將被寫入稍後所繫結的欄位
            ComboBoxDepartment.ValueMember = "DepartmentName";

            
// 將 SelectedValue 屬性繫結至「飛狐工作室」資料表的「部門」欄位,如此一來,
            
// 使用者所選取之選項的 DepartmentName 屬性值便會寫入「飛狐工作室」資料表的「部門」欄位。
            ComboBoxDepartment.DataBindings.Add("SelectedValue", ds, "飛狐工作室.部門");

            
// 取得代表「飛狐工作室」資料表的 CurrencyManager 物件
            bmFoxStudio = this.BindingContext[ds, "飛狐工作室"];

            
// 設定當引發 PositionChanged 事件時便執行事件處理常式 飛狐工作室_PositionChanged
            bmFoxStudio.PositionChanged += 飛狐工作室_PositionChanged;

            
// 設定資料記錄目前位置訊息的初值
            TextBoxPosition.Text = string.Format("資料記錄:目前位置 {0} 總數 {1}", bmFoxStudio.Position + 1, bmFoxStudio.Count);

            
// 關閉對資料庫的連接
            myConnection.Close();
        }



        
// 更新資料記錄目前位置的訊息
        protected void 飛狐工作室_PositionChanged(object sender, System.EventArgs e)
        
{
            TextBoxPosition.Text 
= string.Format("資料記錄:目前位置 {0} 總數 {1}", bmFoxStudio.Position + 1, bmFoxStudio.Count);
        }


        
// 按下「第一筆」按鈕
        private void btnFirst_Click(object sender, System.EventArgs e)
        
{
            
// 將 Position 屬性設定成 0
            bmFoxStudio.Position = 0;
        }


        
// 按下「上一筆」按鈕
        private void btnBack_Click(object sender, System.EventArgs e)
        
{
            
if (bmFoxStudio.Position > 0)
            
{
                
// 將 Position 屬性遞減 1
                bmFoxStudio.Position -= 1;
            }

        }


        
// 按下「下一筆」按鈕
        private void btnNext_Click(object sender, System.EventArgs e)
        
{
            
if (bmFoxStudio.Position < bmFoxStudio.Count - 1)
            
{
                
// 將 Position 屬性遞增 1
                bmFoxStudio.Position += 1;
            }

        }


        
// 按下「最後一筆」按鈕
        private void btnEnd_Click(object sender, System.EventArgs e)
        
{
            bmFoxStudio.Position 
= bmFoxStudio.Count - 1;
        }

    }

}

窗体代码:

 

namespace ch1
{
    
partial class BindingDemoForm8
    
{
        
/// <summary>
        
/// 必需的设计器变量。
        
/// </summary>

        private System.ComponentModel.IContainer components = null;

        
/// <summary>
        
/// 清理所有正在使用的资源。
        
/// </summary>
        
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>

        protected override void Dispose(bool disposing)
        
{
            
if (disposing && (components != null))
            
{
                components.Dispose();
            }

            
base.Dispose(disposing);
        }


        
Windows 窗体设计器生成的代码

        
internal System.Windows.Forms.ComboBox ComboBoxDepartment;
        
internal System.Windows.Forms.Label lblHeader;
        
internal System.Windows.Forms.Button btnEnd;
        
internal System.Windows.Forms.Button btnNext;
        
internal System.Windows.Forms.Button btnBack;
        
internal System.Windows.Forms.Button btnFirst;
        
internal System.Windows.Forms.TextBox TextBoxPosition;
        
internal System.Windows.Forms.NumericUpDown NumericUpDownSalary;
        
internal System.Windows.Forms.Label lblContent;
        
internal System.Windows.Forms.TextBox TextBoxContent;
        
internal System.Windows.Forms.DateTimePicker DateTimePickerBirthday;
        
internal System.Windows.Forms.CheckBox CheckBoxGender;
        
internal System.Windows.Forms.Label lblDepartment;
        
internal System.Windows.Forms.Label lblSalary;
        
internal System.Windows.Forms.Label lblBirthday;
        
internal System.Windows.Forms.Label lblAddress;
        
internal System.Windows.Forms.Label Label1;
        
internal System.Windows.Forms.Label lblName;
        
internal System.Windows.Forms.Label lblID;
        
internal System.Windows.Forms.TextBox TextBoxAddress;
        
internal System.Windows.Forms.TextBox TextBoxName;
        
internal System.Windows.Forms.TextBox TextBoxID;
    }

}