Visual C#的SQL Server编程(转)

server|visual|编程

Visual Studio.NET的中文Beta 2版本推出已有一段时日了,相比早期的Beta 1版本,新版本各方面都有很大的变化,其中包括SQL Server编程方面,在中文Beta 2中,数据库的存取普遍改用了OLE DB的方式。由于数据库编程是企业级应用开发的核心,本文将举例阐述中文Bete 2版本中的SQL Server编程方法。

初始设置
首先,我们需在应用系统中安装SQL Server 2000,Microsoft OLE DB Provider for SQL Server (SQL OLE D也会同时被自动安装,接着用SQL Server的Enterprise Manager创建一个叫tyjdb的数据库,并新建一名为address的数据表,其含name、email、age和address四个字段。

打开VS开发环境中的视图选单项中的服务器资源管理器,该管理器可管理SQL Server及其他各种OLE DB的数据库连接,并可以管理其中的数据。接着我们添加一个新的数据连接,连接属性选择Microsoft OLE DB Provider for SQL server,然后选好服务器及数据库tyjdb,测试连接成功后按确定。使用该工具可又快又准地生成需要的数据库连接字符串。

连接数据库
新建一个ASP.NET项目或Windows.NET应用程序,因为二者的数据库存取程序是相同的。将服务器资源管理器中的数据连接拖至新建的Web Form上即可,这时自动生成了一个连接字符串如下:

this.sqlConnection1.ConnectionString
= "data source=WHOAMI;
initial catalog=tyjdb;
integrated security=SSPI;
persist security info=False;
workstation id=WHOAMI;
packet size=4096";
其中WHOAMI为笔者的服务器名。

选取工具箱中的SqlDataAdapter并拖至该Web Form,提示时选取tyjdb的数据连接,选择使用SQL语句访问数据库,生成SQL语句时只填入SELECTFROM ADDRESS,确认完成即可。程序生成代码如下:

protected System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1;
//存取数据库的主要类
protected System.Data.SqlClient.SqlCommand sqlSelectCommand1;
//SQL语句处理的类
protected System.Data.SqlClient.SqlConnection sqlConnection1;
//连接数据库的类
在InitializeComponent()中有如下声明:
this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter();
this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();
this.sqlDataAdapter1.SelectCommand = this.sqlSelectCommand1;
this.sqlSelectCommand1.CommandText = "SELECT name, email, age, address FROM address";
this.sqlSelectCommand1.Connection = this.sqlConnection1;

为使Table中数据能在Web Form中显示,加入一个DataGrid控件至Web Form上,并在Page_Init中加入如下语句:

sqlConnection1.Open();
//打开数据库连接
DataSet objDataset;
//新建一个放数据的DataSet
objDataset=new DataSet();
sqlDataAdapter1.Fill(objDataset, "address");
//将数据填入DataSet
DataGrid1.DataSource=objDataset.Tables["address"].DefaultView;
//关联DataSet和DataGrid
DataGrid1.DataBind();
//绑定数据
sqlConnection1.Close();
//关闭数据库连接

编译执行后Web Form已可将数据库中数据显示在DataGrid中了。

增加数据
若想增加数据库数据时,我们只需在Web Form上新增对应字段数量个数的TextBox,并新增一个按键,接着为该按键增加Click事件,具体代码如下:

sqlInsertCommand1.Parameters["@name"].Value=TextBox1.Text;
//将TextBox赋值给对应参数
sqlInsertCommand1.Parameters["@email"].Value=TextBox2.Text;
sqlInsertCommand1.Parameters["@age"].Value=TextBox3.Text;
sqlInsertCommand1.Parameters["@address"].Value=TextBox4.Text;
sqlInsertCommand1.Connection.Open();
//打开连接
sqlInsertCommand1.ExecuteNonQuery();
//执行Insert语句
sqlInsertCommand1.Connection.Close();
//关闭连接
sqlConnection1.Open();
DataSet objDataset;
//下面程序段更新DataGrid
objDataset=new DataSet();
sqlDataAdapter1.Fill(objDataset, "address");
DataGrid1.DataSource=objDataset.Tables["address"].DefaultView;
DataGrid1.DataBind();

执行这段程序时,只需在TextBox中填入要添加的记录字段的值,然后按该按键即可执行添加功能。

删除数据
若想删除数据库数据时,我们则需在Web Form上新增一个TextBox5及一个按键,为该按键增加如下代码:

SqlCommand sqlDeleteCommand1 = new System.Data.SqlClient.SqlCommand();
//声明Sql Command类对象
this.sqlDataAdapter1.DeleteCommand = sqlDeleteCommand1;
sqlDeleteCommand1.CommandText="DELETE FROM ADDRESS WHERE NAME='"+TextBox5.Text+"'";
//SQL语句
sqlDeleteCommand1.Connection = this.sqlConnection1;
//声明使用的数据连接
sqlDeleteCommand1.Connection.Open();
sqlDeleteCommand1.ExecuteNonQuery();
//执行该SQL语句
sqlDeleteCommand1.Connection.Close();

执行这段程序时,只需在TextBox5中填入要删除的记录name字段的值,然后按该按键即可执行删除功能。

更新操作原理都类同,具体开发中可以有许多技巧丰富完善上述程序,如增加错误处理等,这里限于篇幅不一一叙述了。

综上可知,充分利用Visual Studio.NET的开发环境来简化程序设计对提高编程效率和质量极有好处。

上述程序均用C#开发,在中文Windows 2000 Server、SQL Server 2000、Visual Studio.NET中文Beta 2环境下,编译并正常运行,中文显示正常。

时间: 2024-10-27 23:15:54

Visual C#的SQL Server编程(转)的相关文章

SQL Server编程系列(1):SMO介绍

原文:SQL Server编程系列(1):SMO介绍 续篇:SQL Server编程系列(2):SMO常用对象的有关操作 最近在项目中用到了有关SQL Server管理任务方面的编程实现,有了一些自己的心得体会,想在此跟大家分享一下,在工作中用到了SMO/SQL CLR/SSIS等方面的知识,在国内这方面的文章并不多见,有也是一些零星的应用,特别是SSIS部分国内外的文章大都是讲解如何拖拽控件的,在开发过程中周公除了参阅SQL Server帮助文档.MSDN及StackOverFlow等网站,这

SQL Server编程系列(2):SMO常用对象的有关操作

原文:SQL Server编程系列(2):SMO常用对象的有关操作 在上一篇周公简单讲述了SMO的一些基本概念,实际上SMO体系结构远不止周公在上一篇中讲述的那么简单,下图是MSDN上给出的一个完整的结构图: 上图是一个完整的涉及到各种关系的结构图.不过它们之间的层次结构关系周公已经在上一篇做了简单概述. 在本篇中周公还是在上一篇的基础上再做稍微深入一点的介绍,在本篇中主要讲述如何获取数据库常见对象信息,并且如何利用SMO来进行一些日常操作:如创建Login,创建数据库.备份数据库和还原数据库.

如何利用Visual Stidio 2005+SQL Server制作一个动态的网站

问题描述 偶不是学机械的,毕业设计的课题是做一个精品课程的网站,请高手们指点一下.(可以推荐书或者一些视频教程)感激涕零!!! 解决方案 解决方案二:下载一个CMS生成一下搞定解决方案三:网上下载,或者找我啊解决方案四:你可以到51aspx.com下载相关的源码来研究一下解决方案五:好像是需要用C#语言编程的,只下一个源代码可以吗?解决方案六:下个ASP的就可以

如何给用Visual Studio和SQL server编写出来的学生信息系统创建日志

问题描述 小弟有个问题求教各位大神,如何给用VisualStudio和SQLserver编写出来的学生信息系统创建log日志,就是在我运行程序的时候如果出错了,就会自动生成一个日志来记录错误,我看网上的一些教程还要点击button控件来生成文本文件形式的日志,但是我想要和一般的常用软件那样自动生成日志文件,请教怎么弄啊? 解决方案 解决方案二:那就是你在代码里,在需要写日志的地方,调用你自己写的生成日志的代码,日志可以保存到本地文件或者数据库解决方案三:你用log4net或者自己写日志类,在代码

SQL Server 2005常见问题解答

server|解答|问题 Q. SQL Server 2005 产品线主要有几个版本? A. SQL Server 2005 产品家族被重新设计以更好的满足不同客户的需求,它包含以下几个版本:  SQL Server 2005 企业版  是用于企业关键业务应用的完全集成的数据管理和商业智能分析的平台.它是对那些有着复杂的工作负荷,高级的分析需求和严格的高可用需求的公司适合的选择.它的特性包括:无限的伸缩和分区功能,高级数据库镜像功能,完全的在线和并行操作能力,数据库快照功能,包括完全的OLAP和

Microsoft SQL Server 2005 中的 XML 选项

本文介绍 Visual Studio 2005/SQL Server 2005 环境中用于处理 XML 数据的三个选项,包括使用方案以及指导用户在各选项之间进行选择的指南. 一.System.Xml.SQLXML 和 XML 数据类型简介 本节简要介绍 Microsoft SQL Server 2000 中提供的 XML 支持的发展历史,并概要介绍 Microsoft Visual Studio 2005/SQL Server 2005 环境中提供的用于处理 XML 和关系数据的三个选项.这三个

SQL Server 2005 CLR 功能简介

在SQL Server 2005的众多被高度评价的特性中,有一个最适合那些对SQL Server编程的人员的就是通用语言运行时,缩写为CLR(Common Language Runtime).CLR允许编程人员直接在SQL Server 中创建存储过程,触发器,用户定义函数,集合和类型.CLR有很多的承诺,但是它也具有一些缺陷. CLR的重要性有几个比较大的原因.首先,由于SQL Server编程已经成熟了,编码器运行在SQL Server 自身可能的限制之中,并且很大程度上依赖于外部代码来执行

有关SQL Server 2005 CLR

在SQL Server 2005的许多被大力推荐的特性里面,有一项可能对那些使用SQLServer 工作的编程人员最实用的是Common Language Runtime,或者简写为CLR.CLR可以让编程人员直接在SQL Server中创建存储过程.触发器,用户自定义函数,集合体和类型.CLR有很多的承诺,但是也有一些缺陷. 关于CLR的重要性有一些主要的原因.首先,随着SQL Server 编程技术的成熟,代码编写人员陷入了SQL Server自身的一些限制之中,并且在很大程度上依赖外部的代

SQL Server与Oracle并行访问的本质区别

设计优良.性能卓越的数据库引擎可以轻松地同时为成千上万的用户服务.而"底气不足"的数据库系统随着更多的用户同时访问系统将大大降低其性能.最糟糕的情况下甚至可能导致系统的崩溃. 当然,并行访问是任何数据库解决方案都最为重视的问题了,为了解决并行访问方面的问题各类数据库系统提出了各种各样的方案.SQL Server和Oracle两大DBMS也分别采用了不同的并行处理方法.它们之间的实质差别在哪里呢? 并行访问的问题 并行访问出现问题存在若干种情况.在最简单的情形下,数量超过一个的用户可能同