用Visual C#来增加数据记录(转)----------------2

visual|数据

二.用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#处理数据库只是在选用数据库引擎上有较大的差别,在程序中的具体设计和处理上,还是很类似的。最后希望此篇文章能对你的数据库编程有所帮助。

时间: 2024-11-08 19:06:27

用Visual C#来增加数据记录(转)----------------2的相关文章

用Visual C#来增加数据记录(2)

visual|数据 二.用Visual C#往SQL SERVER数据库中插入记录:(1)用Visual C#往Access 2000和SQL SERVER添加记录的主要区别在于使用了不同的数据库引擎.在编写程序之前,首先假设数据库服务器名称为:server1,要访问的数据库名称为:data1,数据表名称为:books.用户名为:sa.其中数据表的数据结构和Access 2000的表的结构相同.下面是程序中打开SQL SERVER的数据引擎程序代码:// 设定数据连接字符串,此字符串的意思是打开

用Visual C#来增加数据记录(转)----------1

visual|数据 在本篇文章中,我们将介绍Visual C#对数据库的一个基本操作,即:如何往数据库中添加记录.我们将通过一些数据库操作的例子,来具体说明一下.为了更清楚的说明这个问题,在选用数据库方面采用了二种当前比较典型的数据库,其一是本地数据库--Access 2000,另外一个是远程数据库--SQL SERVER 7.0.首先介绍如何用Visual C#来添加Access 2000数据库的记录. 一.用Visual C#来添加Access 2000数据库的记录 (一).程序设计和运行的

用Visual C#来增加数据记录(1)

visual|数据 在本篇文章中,我们将介绍Visual C#对数据库的一个基本操作,即:如何往数据库中添加记录.我们将通过一些数据库操作的例子,来具体说明一下.为了更清楚的说明这个问题,在选用数据库方面采用了二种当前比较典型的数据库,其一是本地数据库--Access 2000,另外一个是远程数据库--SQL SERVER 7.0.首先介绍如何用Visual C#来添加Access 2000数据库的记录. 一.用Visual C#来添加Access 2000数据库的记录(一).程序设计和运行的环

在Visual C#中用ListView显示数据记录

如果要你在程序中显示数据库中的数据记录,你首先想用的显示工具肯定是DataGrid.当然用DataGrid显示数据记录是一种既常用又简单的方法.但是在程序控制方面,它却无法那么随心所欲.本文就是介绍另外一种显示数据记录的方法--用ListView来显示数据记录,由于他是手动加入记录,虽然在程序设计中稍微烦琐了些,但对于那些在特殊的显示要求,却往往能够满足要求. 在.Net FrameWork SDK中定义了许多组件,Visual C#就是通过获得这些组件的实例来丰富自己的界面的.列表(ListV

Excel2000如何编辑与查询数据记录

  Excel2000如何编辑与查询数据记录: 对于数据清单中的数据记录,中文Excel 2000允许您做与Visual FoxPro 6中相同的编辑操作,即可新建.删除数据记录.按某些条件查询数据记录,而且操作更加简单,只需要从"数据"下拉菜单中选择"记录单"命令,进入图6所示的数据记录单对话框就能完成这些操作. 注意:图6所示的数据记录单对话框中,"新建"按钮的上方显示的是"当前记录号/总记录数". 在数据记录单中,查阅数

如何给容器服务的Docker增加数据盘

我们知道Docker的数据是通过联合文件系统的方式存储到磁盘上,当需要在机器上运行的容器或者镜像的数量不断增加时,有可能磁盘的大小不再满足需求,这个时候就需要给Docker的数据目录通过增加数据盘的方式进行扩容. Docker 数据目录 Docker默认的容器和镜像数据存储的目录是在/var/lib/docker下面,可以通过du命令查看这个目录目前占用的磁盘的大小,例如: # du -h --max-depth=0 /var/lib/docker 7.9G /var/lib/docker 更换

2014年超过10亿条数据记录被泄露

在IT安全领域,最糟糕的攻击情况在2014年变成普遍现象,并且没有结束的迹象.今年我们可能会继续看到数据泄露事故占据头条新闻,企业.政府和监管机构都在努力抵御攻击. 数据安全公司Gemalto表示,攻击的性质也正在变化.攻击者的主要目标是可以帮助攻击者实现身份盗窃的数据记录,这很难捕捉和阻止.最新披露的健康保险公司Anthem遭遇的8000万条记录泄露事故就是身份盗窃攻击. Gemalto在其年度数据泄露水平指数表示,在全球范围内,共有1514起数据泄露事故被公开,而泄露的数据记录数量超过10亿

Oracle当数据记录超过千万(50000000)条时,并且不在同一个库,如何从一个表导到另一个表?提高性能

问题描述 Oracle中,当数据记录超过千万(50000000)条时,并且不在同一个库,如何从一个表导到另一个表?提高性能DA库有表TA,有8千万条数据,DB库有同样结构的TB表,如何在将TA表导入TB表,并且如何优化性能?我是用数据链,导的过程中,没有经过任何字段的计算insertintotbselect*fromta@数据链可是这样出现临时表空间TEMP一直增大,导致硬盘没空间了,怎么办?并且TEMP不自动释放如果是在存储过程中加一个计数器,用游标每10000条COMMIT一次,这样会不会提

C# 中 LISTVIEW 增加删除记录 排序 引用等实例用法

C# 中 LISTVIEW 增加删除记录 排序 引用等实例用法 ,有需要的朋友可以试一下. //增加项或列(字段) ListView1.Clear; ListView1.Columns.Clear; ListView1.Columns.Add; ListView1.Columns.Add; ListView1.Columns.Add; ListView1.Columns.Items[0].Caption:='id'; ListView1.Columns.Items[1].Caption:='ty