分享
 
 
 

用Visual C#来增加数据记录[转载]

王朝c#·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

用Visual C#来增加数据记录

作者:久久百度 来源:http://www.99baidu.com 加入时间:2004-1-31

用Visual C#来增加数据记录 在本篇文章中,我们将介绍Visual C#对数据库的一个基本操作,即:如何往数据库中添加记录。我们将通过一些数据库操作的例子,来具体说明一下。为了更清楚的说明这个问题,在选用数据库方面采用了二种当前比较典型的数据库,其一是本地数据库--Access 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#处理数据库只是在选用数据库引擎上有较大的差别,在程序中的具体设计和处理上,还是很类似的。最后希望此篇文章能对你的数据库编程有所帮助

用Visual C#来增加数据记录

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有