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语句时只填入selectfrom 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环境下,编译并正常运行,中文显示正常。