首页 > 开发 > 综合 > 正文

C# sqlserver2000

2024-07-21 02:19:54
字体:
来源:转载
供稿:网友

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 db)也会同时被自动安装,接着用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环境下,编译并正常运行,中文显示正常。



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表