• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 用Visual C#來增加數據記錄

    發表于:2007-05-25來源:作者:點擊數: 標簽:王天增加作者記錄visual
    作者:王天 在本篇文章中,我們將介紹Visual C#對 數據庫 的一個基本操作,即:如何往數據庫中添加記錄。我們將通過一些數據庫操作的例子,來具體說明一下。為了更清楚的說明這個問題,在選用數據庫方面采用了二種當前比較典型的數據庫,其一是本地數據庫--A
    作者:王天

    在本篇文章中,我們將介紹Visual C#對數據庫的一個基本操作,即:如何往數據庫中添加記錄。我們將通過一些數據庫操作的例子,來具體說明一下。為了更清楚的說明這個問題,在選用數據庫方面采用了二種當前比較典型的數據庫,其一是本地數據庫--Aclearcase/" target="_blank" >ccess 2000,另外一個是遠程數據庫--SQL SERVER 7.0。首先介紹如何用Visual C#來添加Access 2000數據庫的記錄。

    一.用Visual C#來添加Access 2000數據庫的記錄
    (一).程序設計和運行的環境設置:
    (1)視窗2000服務器
    (2)Microsoft Data Acess Component 2.6 以上版本 ( MDAC 2.6 )
    (3)本文程序使用的數據庫的介紹:

    程序中使用的數據庫名稱為sample.mdb,在此數據庫中有一張數據表books。此數據表的結構如下:
    字段名稱 字段類型 代表意思
    Bookid 數字 序號
    booktitle 文本 書籍名稱
    bookauthor 文本 書籍作者
    bookprice 數字 價格
    bookstock 數字 書架號

    (二).程序設計難點和應該注意的問題:
    如何正確的往數據庫中添加記錄是本文要討論的一個重點和難點,下面就是解決這一問題的具體思路:
    (1)創建并打開一個 OleDbConnection對象。
    (2)創建一個插入一條記錄的SQL語句。
    (3)創建一個OleDbCommand對象。
    (4)通過此OleDbCommand對象完成對插入一條記錄到數據庫的操作。
    以下是在程序中實現的具體語句:
    string strConn = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = sample.mdb " ;
    OleDbConnection myConn = new OleDbConnection ( strConn ) ;
    myConn.Open ( ) ;
    string strInsert = " INSERT INTO books ( bookid , booktitle , bookauthor , bookprice , bookstock ) VALUES ( " ;
    strInsert += t_bookid.Text + ", '" ;
    strInsert += t_booktitle.Text + "', '" ;
    strInsert += t_bookauthor.Text + "', " ;
    strInsert += t_bookprice.Text + ", " ;
    strInsert += t_bookstock.Text + ")" ;
    OleDbCommand inst = new OleDbCommand ( strInsert , myConn ) ;
    inst.ExecuteNonQuery ( ) ;
    myConn.Close ( ) ;


    (三).用Visual C#來插入記錄的程序源代碼( add.cs )和執行后的界面:
    下圖是add.cs編譯后的執行界面:



    add.cs源程序代碼:
    using System ;
    using System.Drawing ;
    using System.ComponentModel ;
    using System.Windows.Forms ;
    using System.Data.OleDb ;
    using System.Data ;
    //導入程序中使用到的名稱空間
    public class DataAdd : Form {
    private Button lastrec ;
    private Button nextrec ;
    private Button previousrec ;
    private Button firstrec ;
    private Container components ;
    private Label title ;
    private Button t_new ;
    private Button save ;
    private TextBox t_bookstock ;
    private TextBox t_bookprice ;
    private TextBox t_bookauthor ;
    private TextBox t_booktitle ;
    private TextBox t_bookid ;
    private Label l_bookstock ;
    private Label l_bookprice ;
    private Label l_bookauthor ;
    private Label l_booktitle ;
    private Label l_bookid ;
    private DataSet myDataSet ;
    private BindingManagerBase myBind ;
    //定義在程序中要使用的組件
    public DataAdd ( ) {
    //連接到一個數據庫
    GetConnected ( ) ;
    // 對窗體中所需要的內容進行初始化
    InitializeComponent ( );
    }
    //釋放程序使用過的所以資源
    public override void Dispose ( ) {
    base.Dispose ( ) ;
    components.Dispose ( ) ;
    }
    public static void Main ( ) {
    Application.Run ( new DataAdd ( ) ) ;
    }
    public void GetConnected ( )
    {
    try{
    //創建一個 OleDbConnection對象
    string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = sample.mdb" ;
    OleDbConnection myConn = new OleDbConnection ( strCon ) ;
    string strCom = " SELECT * FROM books " ;
    //創建一個 DataSet
    myDataSet = new DataSet ( ) ;
    myConn.Open ( ) ;
    //用 OleDbDataAdapter 得到一個數據集
    OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
    //把Dataset綁定books數據表
    myCommand.Fill ( myDataSet , "books" ) ;
    //關閉此OleDbConnection
    myConn.Close ( ) ;
    }
    catch ( Exception e )
    {
    MessageBox.Show ( "連接錯誤! " + e.ToString ( ) , "錯誤" ) ;
    }
    }
    private void InitializeComponent ( )
    {
    components = new System.ComponentModel.Container ( ) ;
    nextrec = new Button ( ) ;
    lastrec = new Button ( ) ;
    previousrec = new Button ( ) ;
    firstrec = new Button ( ) ;
    t_bookprice = new TextBox ( ) ;
    l_booktitle = new Label ( ) ;
    l_bookprice = new Label ( ) ;
    l_bookauthor = new Label ( ) ;
    t_bookid = new TextBox ( ) ;
    save = new Button ( ) ;
    title = new Label ( ) ;
    t_bookauthor = new TextBox ( ) ;
    t_booktitle = new TextBox ( ) ;
    t_new = new Button ( ) ;
    l_bookstock = new Label ( ) ;
    t_bookstock = new TextBox ( ) ;
    l_bookid = new Label ( ) ;
    //以下是對數據瀏覽的四個按鈕進行初始化
    firstrec.Location = new System.Drawing.Point ( 65 , 312 ) ;
    firstrec.ForeColor = System.Drawing.Color.Black ;
    firstrec.Size = new System.Drawing.Size ( 40 , 24 ) ;
    firstrec.Font = new System.Drawing.Font("仿宋", 8f );
    firstrec.Text = "首記錄";
    firstrec.Click += new System.EventHandler(GoFirst);
    previousrec.Location = new System.Drawing.Point ( 135 , 312 ) ;
    previousrec.ForeColor = System.Drawing.Color.Black ;
    previousrec.Size = new System.Drawing.Size(40, 24) ;
    previousrec.Font = new System.Drawing.Font ( "仿宋" , 8f ) ;
    previousrec.Text = "上一條" ;
    previousrec.Click += new System.EventHandler ( GoPrevious ) ;
    nextrec.Location = new System.Drawing.Point ( 205 , 312 );
    nextrec.ForeColor = System.Drawing.Color.Black ;
    nextrec.Size = new System.Drawing.Size ( 40 , 24 ) ;
    nextrec.Font = new System.Drawing.Font ( "仿宋" , 8f ) ;
    nextrec.Text = "下一條" ;
    nextrec.Click += new System.EventHandler ( GoNext );
    lastrec.Location = new System.Drawing.Point ( 275 , 312 ) ;
    lastrec.ForeColor = System.Drawing.Color.Black ;
    lastrec.Size = new System.Drawing.Size ( 40 , 24 ) ;
    lastrec.Font = new System.Drawing.Font ( "仿宋" , 8f ) ;
    lastrec.Text = "尾記錄" ;
    lastrec.Click += new System.EventHandler ( GoLast ) ;
    //以下是對顯示標簽進行初始化
    l_bookid.Location = new System.Drawing.Point ( 24 , 56 ) ;
    l_bookid.Text = "書本序號:" ;
    l_bookid.Size = new System.Drawing.Size ( 112, 20 ) ;
    l_bookid.Font = new System.Drawing.Font ( "仿宋" , 10f ) ;
    l_bookid.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ;
    l_booktitle.Location = new System.Drawing.Point ( 24 , 108 ) ;
    l_booktitle.Text = "書 名:";
    l_booktitle.Size = new System.Drawing.Size ( 112 , 20 ) ;
    l_booktitle.Font = new System.Drawing.Font ( "仿宋" , 10f ) ;
    l_booktitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ;
    l_bookprice.Location = new System.Drawing.Point ( 24 , 212 ) ;
    l_bookprice.Text = "價 格:" ;
    l_bookprice.Size = new System.Drawing.Size ( 112 , 20 ) ;
    l_bookprice.Font = new System.Drawing.Font ( "仿宋" , 10f ) ;
    l_bookprice.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ;
    l_bookstock.Location = new System.Drawing.Point ( 24 , 264 ) ;
    l_bookstock.Text = "書 架 號:" ;
    l_bookstock.Size = new System.Drawing.Size ( 112 , 20 ) ;
    l_bookstock.Font = new System.Drawing.Font ( "仿宋" , 10f ) ;
    l_bookstock.TabIndex = 16 ;
    l_bookstock.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ;
    l_bookauthor.Location = new System.Drawing.Point ( 24 , 160 ) ;
    l_bookauthor.Text = "作 者:" ;
    l_bookauthor.Size = new System.Drawing.Size ( 112 , 20 ) ;
    l_bookauthor.Font = new System.Drawing.Font ( "仿宋" , 10f ) ;
    l_bookauthor.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ;
    title.Location = new System.Drawing.Point ( 32 , 16 ) ;
    title.Text = "利用Vsiual C#來增加數據記錄!" ;
    title.Size = new System.Drawing.Size ( 336 , 24 ) ;
    title.ForeColor = System.Drawing.Color.Green ;
    title.Font = new System.Drawing.Font ( "仿宋" , 14f , System.Drawing.FontStyle.Bold ) ;
    //以下是對為顯示數據記錄而設定的標簽和文本框進行初始化,并把記錄綁定在不同的綁定到文本框"Text"屬性上
    t_bookid.Location = new System.Drawing.Point ( 184 , 56 ) ;
    t_bookid.Size = new System.Drawing.Size ( 80 , 20 ) ;
    t_bookid.DataBindings.Add ( "Text" , myDataSet , "books.bookid" ) ;
    t_bookstock.Location = new System.Drawing.Point ( 184 , 264 ) ;
    t_bookstock.Size = new System.Drawing.Size ( 80 , 20 ) ;
    t_bookstock.DataBindings.Add ( "Text" , myDataSet , "books.bookstock" ) ;
    t_booktitle.Location = new System.Drawing.Point ( 184 , 108 ) ;
    t_booktitle.Size = new System.Drawing.Size ( 176 , 20 ) ;
    t_booktitle.DataBindings.Add( "Text" , myDataSet , "books.booktitle" ) ;
    t_bookprice.Location = new System.Drawing.Point ( 184 , 212 ) ;
    t_bookprice.Size = new System.Drawing.Size ( 80 , 20 ) ;
    t_bookprice.DataBindings.Add ( "Text" , myDataSet , "books.bookprice" ) ;
    t_bookauthor.Location = new System.Drawing.Point ( 184 , 160 ) ;
    t_bookauthor.Size = new System.Drawing.Size ( 128 , 20 ) ;
    t_bookauthor.DataBindings.Add ( "Text" , myDataSet , "books.bookauthor" ) ;
    t_new.Location = new System.Drawing.Point ( 62 , 354 ) ;
    t_new.Size = new System.Drawing.Size ( 96 , 32 ) ;
    t_new.Text = "新建記錄" ;
    t_new.Click += new System.EventHandler ( t_newClick ) ;
    save.Location = new System.Drawing.Point ( 222 , 354 ) ;
    save.Size = new System.Drawing.Size ( 96 , 32 ) ;
    save.TabIndex = 4 ;
    save.Text = "保存記錄" ;
    save.Click += new System.EventHandler ( saveClick ) ;
    this.Text = "利用Vsiual C#來增加數據記錄的程序窗口!" ;
    this.AutoScaleBaseSize = new System.Drawing.Size ( 5 , 13 ) ;
    this.FormBorderStyle = FormBorderStyle.Fixed3D ;
    this.ClientSize = new System.Drawing.Size ( 390 , 400 ) ;
    //在窗體中加入下列組件
    this.Controls.Add ( lastrec ) ;
    this.Controls.Add ( nextrec ) ;
    this.Controls.Add ( previousrec ) ;
    this.Controls.Add ( firstrec ) ;
    this.Controls.Add ( title ) ;
    this.Controls.Add ( t_new ) ;
    this.Controls.Add ( save ) ;
    this.Controls.Add ( t_bookstock ) ;
    this.Controls.Add ( t_bookprice ) ;
    this.Controls.Add ( t_bookauthor ) ;
    this.Controls.Add ( t_booktitle ) ;
    this.Controls.Add ( t_bookid ) ;
    this.Controls.Add ( l_bookstock ) ;
    this.Controls.Add ( l_bookprice ) ;
    this.Controls.Add ( l_bookauthor ) ;
    this.Controls.Add ( l_booktitle ) ;
    this.Controls.Add ( l_bookid ) ;
    //把對象DataSet和"books"數據表綁定到此myBind對象
    myBind= this.BindingContext [ myDataSet , "books" ] ;
    }
    protected void saveClick ( object sender , System.EventArgs e )
    {
    try
    {
    //判斷所有字段是否添完,添完則執行,反之彈出提示
    if ( t_bookid.Text != "" && t_booktitle.Text != "" && t_bookauthor.Text != "" && t_bookprice.Text != "" && t_bookstock.Text != "" )
    {
    string strConn = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = sample.mdb " ;
    OleDbConnection myConn = new OleDbConnection ( strConn ) ;
    myConn.Open ( ) ;
    string strInsert = " INSERT INTO books ( bookid , booktitle , bookauthor , bookprice , bookstock ) VALUES ( " ;
    strInsert += t_bookid.Text + ", '" ;
    strInsert += t_booktitle.Text + "', '" ;
    strInsert += t_bookauthor.Text + "', " ;
    strInsert += t_bookprice.Text + ", " ;
    strInsert += t_bookstock.Text + ")" ;
    OleDbCommand inst = new OleDbCommand ( strInsert , myConn ) ;
    inst.ExecuteNonQuery ( ) ;
    myConn.Close ( ) ;
    }
    else
    {
    MessageBox.Show ( "必須填滿所有字段值!" , "錯誤!" ) ;
    }
    }
    catch ( Exception ed )
    {
    MessageBox.Show ( "保存數據記錄發生 " + ed.ToString ( ) , "錯誤!" ) ;
    }
    }
    protected void t_newClick ( object sender , System.EventArgs e )
    {
    t_bookid.Text = "" ;
    t_booktitle.Text = "" ;
    t_bookauthor.Text = "" ;
    t_bookprice.Text = "" ;
    t_bookstock.Text = "" ;
    }
    //按鈕"尾記錄"對象事件程序
    protected void GoLast ( object sender , System.EventArgs e )
    {
    myBind.Position = myBind.Count - 1 ;
    }

    //按鈕"下一條"對象事件程序
    protected void GoNext ( object sender , System.EventArgs e )
    {
    if ( myBind.Position == myBind.Count -1 )
    MessageBox.Show ( "已經到了最后一條記錄!" ) ;
    else
    myBind.Position += 1 ;
    }
    //按鈕"上一條"對象事件程序
    protected void GoPrevious ( object sender , System.EventArgs e )
    {
    if ( myBind.Position == 0 )
    MessageBox.Show ( "已經到了第一條記錄!" ) ;
    else
    myBind.Position -= 1 ;
    }
    //按鈕"首記錄"對象事件程序
    protected void GoFirst ( object sender , System.EventArgs e )
    {
    myBind.Position = 0 ;
    }
    }


    成功編譯上面代碼,就可以往Access 2000數據庫里面插入記錄了。

    二.用Visual C#往SQL SERVER數據庫中插入記錄:
    (1)用Visual C#往Access 2000和SQL SERVER添加記錄的主要區別在于使用了不同的數據庫引擎。在編寫程序之前,首先假設數據庫服務器名稱為:server1,要訪問的數據庫名稱為:data1,數據表名稱為:books。用戶名為:sa。其中數據表的數據結構和Access 2000的表的結構相同。下面是程序中打開SQL SERVER的數據引擎程序代碼:
    // 設定數據連接字符串,此字符串的意思是打開Sql server數據庫,服務器名稱為server1,數據庫為data1
    string strCon = "Provider = SQLOLEDB.1 ; Persist Security Info = False ; User ID = sa ; Initial Catalog = data1 ; Data Source = server1 " ;
    OleDbConnection myConn = new OleDbConnection ( strCon ) ;
    myConn.Open ( ) ;


    (2).用Visual C#往SQL SERVER 數據庫中插入記錄的源程序代碼( add02.cs ):
    using System ;
    using System.Drawing ;
    using System.ComponentModel ;
    using System.Windows.Forms ;
    using System.Data.OleDb ;
    using System.Data ;
    //導入程序中使用到的名稱空間
    public class DataAdd : Form {
    private Button lastrec ;
    private Button nextrec ;
    private Button previousrec ;
    private Button firstrec ;
    private Container components ;
    private Label title ;
    private Button t_new ;
    private Button save ;
    private TextBox t_bookstock ;
    private TextBox t_bookprice ;
    private TextBox t_bookauthor ;
    private TextBox t_booktitle ;
    private TextBox t_bookid ;
    private Label l_bookstock ;
    private Label l_bookprice ;
    private Label l_bookauthor ;
    private Label l_booktitle ;
    private Label l_bookid ;
    private DataSet myDataSet ;
    private BindingManagerBase myBind ;
    //定義在程序中要使用的組件
    public DataAdd ( ) {
    //連接到一個數據庫
    GetConnected ( ) ;
    // 對窗體中所需要的內容進行初始化
    InitializeComponent ( );
    }
    //釋放程序使用過的所以資源
    public override void Dispose ( ) {
    base.Dispose ( ) ;
    components.Dispose ( ) ;
    }
    public static void Main ( ) {
    Application.Run ( new DataAdd ( ) ) ;
    }
    public void GetConnected ( )
    {
    try{
    // 設定數據連接字符串,此字符串的意思是打開Sql server數據庫,服務器名稱為server1,數據庫為data1,用戶名為sa。
    string strCon = "Provider = SQLOLEDB.1 ; Persist Security Info = False ; User ID = sa ; Initial Catalog = data1 ; Data Source = server1 " ;
    OleDbConnection myConn = new OleDbConnection ( strCon ) ;
    myConn.Open ( ) ;
    string strCom = " SELECT * FROM books " ;
    //創建一個 DataSet
    myDataSet = new DataSet ( ) ;
    //用 OleDbDataAdapter 得到一個數據集
    OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
    //把Dataset綁定books數據表
    myCommand.Fill ( myDataSet , "books" ) ;
    //關閉此OleDbConnection
    myConn.Close ( ) ;
    }
    catch ( Exception e )
    {
    MessageBox.Show ( "連接錯誤! " + e.ToString ( ) , "錯誤" ) ;
    }
    }
    private void InitializeComponent ( )
    {
    components = new System.ComponentModel.Container ( ) ;
    nextrec = new Button ( ) ;
    lastrec = new Button ( ) ;
    previousrec = new Button ( ) ;
    firstrec = new Button ( ) ;
    t_bookprice = new TextBox ( ) ;
    l_booktitle = new Label ( ) ;
    l_bookprice = new Label ( ) ;
    l_bookauthor = new Label ( ) ;
    t_bookid = new TextBox ( ) ;
    save = new Button ( ) ;
    title = new Label ( ) ;
    t_bookauthor = new TextBox ( ) ;
    t_booktitle = new TextBox ( ) ;
    t_new = new Button ( ) ;
    l_bookstock = new Label ( ) ;
    t_bookstock = new TextBox ( ) ;
    l_bookid = new Label ( ) ;
    //以下是對數據瀏覽的四個按鈕進行初始化
    firstrec.Location = new System.Drawing.Point ( 65 , 312 ) ;
    firstrec.ForeColor = System.Drawing.Color.Black ;
    firstrec.Size = new System.Drawing.Size ( 40 , 24 ) ;
    firstrec.Font = new System.Drawing.Font("仿宋", 8f );
    firstrec.Text = "首記錄";
    firstrec.Click += new System.EventHandler(GoFirst);
    previousrec.Location = new System.Drawing.Point ( 135 , 312 ) ;
    previousrec.ForeColor = System.Drawing.Color.Black ;
    previousrec.Size = new System.Drawing.Size(40, 24) ;
    previousrec.Font = new System.Drawing.Font ( "仿宋" , 8f ) ;
    previousrec.Text = "上一條" ;
    previousrec.Click += new System.EventHandler ( GoPrevious ) ;
    nextrec.Location = new System.Drawing.Point ( 205 , 312 );
    nextrec.ForeColor = System.Drawing.Color.Black ;
    nextrec.Size = new System.Drawing.Size ( 40 , 24 ) ;
    nextrec.Font = new System.Drawing.Font ( "仿宋" , 8f ) ;
    nextrec.Text = "下一條" ;
    nextrec.Click += new System.EventHandler ( GoNext );
    lastrec.Location = new System.Drawing.Point ( 275 , 312 ) ;
    lastrec.ForeColor = System.Drawing.Color.Black ;
    lastrec.Size = new System.Drawing.Size ( 40 , 24 ) ;
    lastrec.Font = new System.Drawing.Font ( "仿宋" , 8f ) ;
    lastrec.Text = "尾記錄" ;
    lastrec.Click += new System.EventHandler ( GoLast ) ;
    //以下是對顯示標簽進行初始化
    l_bookid.Location = new System.Drawing.Point ( 24 , 56 ) ;
    l_bookid.Text = "書本序號:" ;
    l_bookid.Size = new System.Drawing.Size ( 112, 20 ) ;
    l_bookid.Font = new System.Drawing.Font ( "仿宋" , 10f ) ;
    l_bookid.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ;
    l_booktitle.Location = new System.Drawing.Point ( 24 , 108 ) ;
    l_booktitle.Text = "書 名:";
    l_booktitle.Size = new System.Drawing.Size ( 112 , 20 ) ;
    l_booktitle.Font = new System.Drawing.Font ( "仿宋" , 10f ) ;
    l_booktitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ;
    l_bookprice.Location = new System.Drawing.Point ( 24 , 212 ) ;
    l_bookprice.Text = "價 格:" ;
    l_bookprice.Size = new System.Drawing.Size ( 112 , 20 ) ;
    l_bookprice.Font = new System.Drawing.Font ( "仿宋" , 10f ) ;
    l_bookprice.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ;
    l_bookstock.Location = new System.Drawing.Point ( 24 , 264 ) ;
    l_bookstock.Text = "書 架 號:" ;
    l_bookstock.Size = new System.Drawing.Size ( 112 , 20 ) ;
    l_bookstock.Font = new System.Drawing.Font ( "仿宋" , 10f ) ;
    l_bookstock.TabIndex = 16 ;
    l_bookstock.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ;
    l_bookauthor.Location = new System.Drawing.Point ( 24 , 160 ) ;
    l_bookauthor.Text = "作 者:" ;
    l_bookauthor.Size = new System.Drawing.Size ( 112 , 20 ) ;
    l_bookauthor.Font = new System.Drawing.Font ( "仿宋" , 10f ) ;
    l_bookauthor.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ;
    title.Location = new System.Drawing.Point ( 32 , 16 ) ;
    title.Text = "利用Vsiual C#來增加數據記錄!" ;
    title.Size = new System.Drawing.Size ( 336 , 24 ) ;
    title.ForeColor = System.Drawing.Color.Green ;
    title.Font = new System.Drawing.Font ( "仿宋" , 14f , System.Drawing.FontStyle.Bold ) ;
    //以下是對為顯示數據記錄而設定的標簽和文本框進行初始化,并把記錄綁定在不同的綁定到文本框"Text"屬性上
    t_bookid.Location = new System.Drawing.Point ( 184 , 56 ) ;
    t_bookid.Size = new System.Drawing.Size ( 80 , 20 ) ;
    t_bookid.DataBindings.Add ( "Text" , myDataSet , "books.bookid" ) ;
    t_bookstock.Location = new System.Drawing.Point ( 184 , 264 ) ;
    t_bookstock.Size = new System.Drawing.Size ( 80 , 20 ) ;
    t_bookstock.DataBindings.Add ( "Text" , myDataSet , "books.bookstock" ) ;
    t_booktitle.Location = new System.Drawing.Point ( 184 , 108 ) ;
    t_booktitle.Size = new System.Drawing.Size ( 176 , 20 ) ;
    t_booktitle.DataBindings.Add( "Text" , myDataSet , "books.booktitle" ) ;
    t_bookprice.Location = new System.Drawing.Point ( 184 , 212 ) ;
    t_bookprice.Size = new System.Drawing.Size ( 80 , 20 ) ;
    t_bookprice.DataBindings.Add ( "Text" , myDataSet , "books.bookprice" ) ;
    t_bookauthor.Location = new System.Drawing.Point ( 184 , 160 ) ;
    t_bookauthor.Size = new System.Drawing.Size ( 128 , 20 ) ;
    t_bookauthor.DataBindings.Add ( "Text" , myDataSet , "books.bookauthor" ) ;
    t_new.Location = new System.Drawing.Point ( 62 , 354 ) ;
    t_new.Size = new System.Drawing.Size ( 96 , 32 ) ;
    t_new.Text = "新建記錄" ;
    t_new.Click += new System.EventHandler ( t_newClick ) ;
    save.Location = new System.Drawing.Point ( 222 , 354 ) ;
    save.Size = new System.Drawing.Size ( 96 , 32 ) ;
    save.TabIndex = 4 ;
    save.Text = "保存記錄" ;
    save.Click += new System.EventHandler ( saveClick ) ;
    this.Text = "利用Vsiual C#來增加數據記錄的程序窗口!" ;
    this.AutoScaleBaseSize = new System.Drawing.Size ( 5 , 13 ) ;
    this.FormBorderStyle = FormBorderStyle.Fixed3D ;
    this.ClientSize = new System.Drawing.Size ( 390 , 400 ) ;
    //在窗體中加入下列組件
    this.Controls.Add ( lastrec ) ;
    this.Controls.Add ( nextrec ) ;
    this.Controls.Add ( previousrec ) ;
    this.Controls.Add ( firstrec ) ;
    this.Controls.Add ( title ) ;
    this.Controls.Add ( t_new ) ;
    this.Controls.Add ( save ) ;
    this.Controls.Add ( t_bookstock ) ;
    this.Controls.Add ( t_bookprice ) ;
    this.Controls.Add ( t_bookauthor ) ;
    this.Controls.Add ( t_booktitle ) ;
    this.Controls.Add ( t_bookid ) ;
    this.Controls.Add ( l_bookstock ) ;
    this.Controls.Add ( l_bookprice ) ;
    this.Controls.Add ( l_bookauthor ) ;
    this.Controls.Add ( l_booktitle ) ;
    this.Controls.Add ( l_bookid ) ;
    //把對象DataSet和"books"數據表綁定到此myBind對象
    myBind= this.BindingContext [ myDataSet , "books" ] ;
    }
    protected void saveClick ( object sender , System.EventArgs e )
    {
    try
    {
    //判斷所有字段是否添完,添完則執行,反之彈出提示
    if ( t_bookid.Text != "" && t_booktitle.Text != "" && t_bookauthor.Text != "" && t_bookprice.Text != "" && t_bookstock.Text != "" )
    {
    // 設定數據連接字符串,此字符串的意思是打開Sql server數據庫,服務器名稱為server1,數據庫為data1,用戶名為sa。
    string strConn = "Provider = SQLOLEDB.1 ; Persist Security Info = False ; User ID = sa ; Initial Catalog = datal ; Data Source = server1 " ;
    OleDbConnection myConn = new OleDbConnection ( strConn ) ;
    myConn.Open ( ) ;
    string strInsert = " INSERT INTO books ( bookid , booktitle , bookauthor , bookprice , bookstock ) VALUES ( " ;
    strInsert += t_bookid.Text + ", '" ;
    strInsert += t_booktitle.Text + "', '" ;
    strInsert += t_bookauthor.Text + "', " ;
    strInsert += t_bookprice.Text + ", " ;
    strInsert += t_bookstock.Text + ")" ;
    OleDbCommand inst = new OleDbCommand ( strInsert , myConn ) ;
    inst.ExecuteNonQuery ( ) ;
    myConn.Close ( ) ;
    }
    else
    {
    MessageBox.Show ( "必須填滿所有字段值!" , "錯誤!" ) ;
    }
    }
    catch ( Exception ed )
    {
    MessageBox.Show ( "保存數據記錄發生 " + ed.ToString ( ) , "錯誤!" ) ;
    }
    }
    protected void t_newClick ( object sender , System.EventArgs e )
    {
    t_bookid.Text = "" ;
    t_booktitle.Text = "" ;
    t_bookauthor.Text = "" ;
    t_bookprice.Text = "" ;
    t_bookstock.Text = "" ;
    }
    //按鈕"尾記錄"對象事件程序
    protected void GoLast ( object sender , System.EventArgs e )
    {
    myBind.Position = myBind.Count - 1 ;
    }
    //按鈕"下一條"對象事件程序
    protected void GoNext ( object sender , System.EventArgs e )
    {
    if ( myBind.Position == myBind.Count -1 )
    MessageBox.Show ( "已經到了最后一條記錄!" ) ;
    else
    myBind.Position += 1 ;
    }
    //按鈕"上一條"對象事件程序
    protected void GoPrevious ( object sender , System.EventArgs e )
    {
    if ( myBind.Position == 0 )
    MessageBox.Show ( "已經到了第一條記錄!" ) ;
    else
    myBind.Position -= 1 ;
    }
    //按鈕"首記錄"對象事件程序
    protected void GoFirst ( object sender , System.EventArgs e )
    {
    myBind.Position = 0 ;
    }
    }


    三.總結:
    本文主要是通過二個程序的例子來具體說明用Visual C#如何往遠程數據庫--SQL SERVER和本地數據庫-- Access 2000中插入記錄。對于其他類型的數據庫也可以比照這二個這二個數據庫來處理,一般來說,用Visual C#處理數據庫只是在選用數據庫引擎上有較大的差別,在程序中的具體設計和處理上,還是很類似的。最后希望此篇文章能對你的數據庫編程有所幫助。

    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>