创建数据库:
请见:ado.net c#.net2005 From第一讲(BindingDemoForm2)
运行界面:
BindingDemoForm3.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;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
namespace
ch1
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
public partial class BindingDemoForm3 : Form
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
public BindingDemoForm3()
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
InitializeComponent();
}
DataSet ds = new DataSet();
private void BindingDemoForm3_Load(object sender, EventArgs e)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
// 設定表單的最小大小
this.MinimumSize = new Size(512, 542);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
// 建立一個連接字串
string strConnection = "Server=(local);Database=ch1;uid=sa;pwd=";
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
// 建立一個查詢命令字串
string strSql = "SELECT 身份證字號,姓名,員工性別,住家地址,出生日期,目前薪資,部門,自傳 FROM 飛狐工作室";
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
// 建立一個資料連接
SqlConnection myConnection = new SqlConnection(strConnection);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
// 建立一個資料配接器以便針對資料來源執行 SELECT 陳述式來提取出要填入資料集的資料記錄
SqlDataAdapter myCommand = new SqlDataAdapter(strSql, myConnection);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
// 將資料填入資料集
myCommand.Fill(ds, "飛狐工作室");
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
// 將 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 內之「飛狐工作室」資料表的「部門」欄位
TextBoxDepartment.DataBindings.Add("Text", ds, "飛狐工作室.部門");
// 將 TextBox 控制項的 Text 屬性繫結至資料集 ds 內之「飛狐工作室」資料表的「自傳」欄位
TextBoxContent.DataBindings.Add("Text", ds, "飛狐工作室.自傳");
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
// 設定當引發 PositionChanged 事件時便執行事件處理常式 飛狐工作室_PositionChanged
this.BindingContext[ds, "飛狐工作室"].PositionChanged += 飛狐工作室_PositionChanged;
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
// 設定資料記錄目前位置訊息的初值
TextBoxPosition.Text = string.Format("資料記錄:目前位置 {0} 總數 {1}", this.BindingContext[ds, "飛狐工作室"].Position + 1, this.BindingContext[ds, "飛狐工作室"].Count);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
// 關閉對資料庫的連接
myConnection.Close();
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
protected void 飛狐工作室_PositionChanged(object sender, System.EventArgs e)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
TextBoxPosition.Text = string.Format("資料記錄:目前位置 {0} 總數 {1}", this.BindingContext[ds, "飛狐工作室"].Position + 1, this.BindingContext[ds, "飛狐工作室"].Count);
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
// 按下「第一筆」按鈕
private void btnFirst_Click(object sender, System.EventArgs e)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
// 將 Position 屬性設定成 0
this.BindingContext[ds, "飛狐工作室"].Position = 0;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
// 按下「上一筆」按鈕
private void btnBack_Click(object sender, System.EventArgs e)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
if (this.BindingContext[ds, "飛狐工作室"].Position > 0)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
// 將 Position 屬性遞減 1
this.BindingContext[ds, "飛狐工作室"].Position -= 1;
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
// 按下「下一筆」按鈕
private void btnNext_Click(object sender, System.EventArgs e)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
if (this.BindingContext[ds, "飛狐工作室"].Position < this.BindingContext[ds, "飛狐工作室"].Count - 1)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
// 將 Position 屬性遞增 1
this.BindingContext[ds, "飛狐工作室"].Position += 1;
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
// 按下「最後一筆」按鈕
private void btnEnd_Click(object sender, System.EventArgs e)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
this.BindingContext[ds, "飛狐工作室"].Position = this.BindingContext[ds, "飛狐工作室"].Count - 1;
}
}
}
BindingDemoForm3.Designer.cs
namespace
ch1
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
partial class BindingDemoForm3
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/**//// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/**//// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
if (disposing && (components != null))
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
components.Dispose();
}
base.Dispose(disposing);
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7ff8d92cded7e0ce15e7ca1acc870052.gif)
Windows 窗体设计器生成的代码#region Windows 窗体设计器生成的代码
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/**//// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
this.lblHeader = new System.Windows.Forms.Label();
this.btnEnd = new System.Windows.Forms.Button();
this.btnNext = new System.Windows.Forms.Button();
this.btnBack = new System.Windows.Forms.Button();
this.btnFirst = new System.Windows.Forms.Button();
this.TextBoxPosition = new System.Windows.Forms.TextBox();
this.NumericUpDownSalary = new System.Windows.Forms.NumericUpDown();
this.lblContent = new System.Windows.Forms.Label();
this.TextBoxContent = new System.Windows.Forms.TextBox();
this.DateTimePickerBirthday = new System.Windows.Forms.DateTimePicker();
this.CheckBoxGender = new System.Windows.Forms.CheckBox();
this.lblDepartment = new System.Windows.Forms.Label();
this.lblSalary = new System.Windows.Forms.Label();
this.lblBirthday = new System.Windows.Forms.Label();
this.lblAddress = new System.Windows.Forms.Label();
this.Label1 = new System.Windows.Forms.Label();
this.lblName = new System.Windows.Forms.Label();
this.lblID = new System.Windows.Forms.Label();
this.TextBoxDepartment = new System.Windows.Forms.TextBox();
this.TextBoxAddress = new System.Windows.Forms.TextBox();
this.TextBoxName = new System.Windows.Forms.TextBox();
this.TextBoxID = new System.Windows.Forms.TextBox();
((System.ComponentModel.ISupportInitialize)(this.NumericUpDownSalary)).BeginInit();
this.SuspendLayout();
//
// lblHeader
//
this.lblHeader.AutoSize = true;
this.lblHeader.Font = new System.Drawing.Font("PMingLiU", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(136)));
this.lblHeader.ForeColor = System.Drawing.Color.Red;
this.lblHeader.Location = new System.Drawing.Point(109, 14);
this.lblHeader.Name = "lblHeader";
this.lblHeader.Size = new System.Drawing.Size(183, 16);
this.lblHeader.TabIndex = 59;
this.lblHeader.Text = "資料導覽介面---逐筆檢視";
//
// btnEnd
//
this.btnEnd.Location = new System.Drawing.Point(315, 368);
this.btnEnd.Name = "btnEnd";
this.btnEnd.Size = new System.Drawing.Size(75, 21);
this.btnEnd.TabIndex = 58;
this.btnEnd.Text = "最後一筆";
this.btnEnd.Click += new System.EventHandler(this.btnEnd_Click);
//
// btnNext
//
this.btnNext.Location = new System.Drawing.Point(226, 368);
this.btnNext.Name = "btnNext";
this.btnNext.Size = new System.Drawing.Size(75, 21);
this.btnNext.TabIndex = 57;
this.btnNext.Text = "下一筆";
this.btnNext.Click += new System.EventHandler(this.btnNext_Click);
//
// btnBack
//
this.btnBack.Location = new System.Drawing.Point(137, 368);
this.btnBack.Name = "btnBack";
this.btnBack.Size = new System.Drawing.Size(75, 21);
this.btnBack.TabIndex = 56;
this.btnBack.Text = "上一筆";
this.btnBack.Click += new System.EventHandler(this.btnBack_Click);
//
// btnFirst
//
this.btnFirst.Location = new System.Drawing.Point(48, 368);
this.btnFirst.Name = "btnFirst";
this.btnFirst.Size = new System.Drawing.Size(75, 21);
this.btnFirst.TabIndex = 55;
this.btnFirst.Text = "第一筆";
this.btnFirst.Click += new System.EventHandler(this.btnFirst_Click);
//
// TextBoxPosition
//
this.TextBoxPosition.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.TextBoxPosition.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
this.TextBoxPosition.Location = new System.Drawing.Point(54, 333);
this.TextBoxPosition.Name = "TextBoxPosition";
this.TextBoxPosition.Size = new System.Drawing.Size(333, 21);
this.TextBoxPosition.TabIndex = 54;
this.TextBoxPosition.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// NumericUpDownSalary
//
this.NumericUpDownSalary.DecimalPlaces = 2;
this.NumericUpDownSalary.Location = new System.Drawing.Point(105, 174);
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
this.NumericUpDownSalary.Maximum = new decimal(new int[] ...{
300000,
0,
0,
0});
this.NumericUpDownSalary.Name = "NumericUpDownSalary";
this.NumericUpDownSalary.Size = new System.Drawing.Size(120, 21);
this.NumericUpDownSalary.TabIndex = 49;
this.NumericUpDownSalary.ThousandsSeparator = true;
//
// lblContent
//
this.lblContent.AutoSize = true;
this.lblContent.Location = new System.Drawing.Point(57, 230);
this.lblContent.Name = "lblContent";
this.lblContent.Size = new System.Drawing.Size(35, 12);
this.lblContent.TabIndex = 52;
this.lblContent.Text = "自傳:";
//
// TextBoxContent
//
this.TextBoxContent.ForeColor = System.Drawing.Color.Blue;
this.TextBoxContent.Location = new System.Drawing.Point(105, 230);
this.TextBoxContent.Multiline = true;
this.TextBoxContent.Name = "TextBoxContent";
this.TextBoxContent.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.TextBoxContent.Size = new System.Drawing.Size(349, 88);
this.TextBoxContent.TabIndex = 53;
//
// DateTimePickerBirthday
//
this.DateTimePickerBirthday.Location = new System.Drawing.Point(105, 149);
this.DateTimePickerBirthday.Name = "DateTimePickerBirthday";
this.DateTimePickerBirthday.Size = new System.Drawing.Size(200, 21);
this.DateTimePickerBirthday.TabIndex = 47;
//
// CheckBoxGender
//
this.CheckBoxGender.Location = new System.Drawing.Point(105, 99);
this.CheckBoxGender.Name = "CheckBoxGender";
this.CheckBoxGender.Size = new System.Drawing.Size(16, 19);
this.CheckBoxGender.TabIndex = 43;
//
// lblDepartment
//
this.lblDepartment.AutoSize = true;
this.lblDepartment.Location = new System.Drawing.Point(57, 199);
this.lblDepartment.Name = "lblDepartment";
this.lblDepartment.Size = new System.Drawing.Size(35, 12);
this.lblDepartment.TabIndex = 50;
this.lblDepartment.Text = "部門:";
//
// lblSalary
//
this.lblSalary.AutoSize = true;
this.lblSalary.Location = new System.Drawing.Point(33, 174);
this.lblSalary.Name = "lblSalary";
this.lblSalary.Size = new System.Drawing.Size(59, 12);
this.lblSalary.TabIndex = 48;
this.lblSalary.Text = "目前薪資:";
//
// lblBirthday
//
this.lblBirthday.AutoSize = true;
this.lblBirthday.Location = new System.Drawing.Point(33, 149);
this.lblBirthday.Name = "lblBirthday";
this.lblBirthday.Size = new System.Drawing.Size(59, 12);
this.lblBirthday.TabIndex = 46;
this.lblBirthday.Text = "出生日期:";
//
// lblAddress
//
this.lblAddress.AutoSize = true;
this.lblAddress.Location = new System.Drawing.Point(57, 124);
this.lblAddress.Name = "lblAddress";
this.lblAddress.Size = new System.Drawing.Size(35, 12);
this.lblAddress.TabIndex = 44;
this.lblAddress.Text = "地址:";
//
// Label1
//
this.Label1.AutoSize = true;
this.Label1.Location = new System.Drawing.Point(57, 99);
this.Label1.Name = "Label1";
this.Label1.Size = new System.Drawing.Size(35, 12);
this.Label1.TabIndex = 42;
this.Label1.Text = "性別:";
//
// lblName
//
this.lblName.AutoSize = true;
this.lblName.Location = new System.Drawing.Point(57, 74);
this.lblName.Name = "lblName";
this.lblName.Size = new System.Drawing.Size(35, 12);
this.lblName.TabIndex = 40;
this.lblName.Text = "姓名:";
//
// lblID
//
this.lblID.AutoSize = true;
this.lblID.Location = new System.Drawing.Point(21, 49);
this.lblID.Name = "lblID";
this.lblID.Size = new System.Drawing.Size(71, 12);
this.lblID.TabIndex = 38;
this.lblID.Text = "身份證字號:";
//
// TextBoxDepartment
//
this.TextBoxDepartment.Location = new System.Drawing.Point(105, 199);
this.TextBoxDepartment.Name = "TextBoxDepartment";
this.TextBoxDepartment.Size = new System.Drawing.Size(100, 21);
this.TextBoxDepartment.TabIndex = 51;
//
// TextBoxAddress
//
this.TextBoxAddress.Location = new System.Drawing.Point(105, 124);
this.TextBoxAddress.Name = "TextBoxAddress";
this.TextBoxAddress.Size = new System.Drawing.Size(344, 21);
this.TextBoxAddress.TabIndex = 45;
//
// TextBoxName
//
this.TextBoxName.Location = new System.Drawing.Point(105, 74);
this.TextBoxName.Name = "TextBoxName";
this.TextBoxName.Size = new System.Drawing.Size(100, 21);
this.TextBoxName.TabIndex = 41;
//
// TextBoxID
//
this.TextBoxID.Location = new System.Drawing.Point(105, 49);
this.TextBoxID.Name = "TextBoxID";
this.TextBoxID.Size = new System.Drawing.Size(100, 21);
this.TextBoxID.TabIndex = 39;
//
// BindingDemoForm3
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(485, 432);
this.Controls.Add(this.lblHeader);
this.Controls.Add(this.btnEnd);
this.Controls.Add(this.btnNext);
this.Controls.Add(this.btnBack);
this.Controls.Add(this.btnFirst);
this.Controls.Add(this.TextBoxPosition);
this.Controls.Add(this.NumericUpDownSalary);
this.Controls.Add(this.lblContent);
this.Controls.Add(this.TextBoxContent);
this.Controls.Add(this.DateTimePickerBirthday);
this.Controls.Add(this.CheckBoxGender);
this.Controls.Add(this.lblDepartment);
this.Controls.Add(this.lblSalary);
this.Controls.Add(this.lblBirthday);
this.Controls.Add(this.lblAddress);
this.Controls.Add(this.Label1);
this.Controls.Add(this.lblName);
this.Controls.Add(this.lblID);
this.Controls.Add(this.TextBoxDepartment);
this.Controls.Add(this.TextBoxAddress);
this.Controls.Add(this.TextBoxName);
this.Controls.Add(this.TextBoxID);
this.Name = "BindingDemoForm3";
this.Text = "BindingDemoForm3";
this.Load += new System.EventHandler(this.BindingDemoForm3_Load);
((System.ComponentModel.ISupportInitialize)(this.NumericUpDownSalary)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
#endregion
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
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 TextBoxDepartment;
internal System.Windows.Forms.TextBox TextBoxAddress;
internal System.Windows.Forms.TextBox TextBoxName;
internal System.Windows.Forms.TextBox TextBoxID;
}
}