-- 作者:admin
-- 发布时间:11/9/2004 2:25:00 AM
-- Visual C#的SQL Server编程
发信人: cataract (大瀑布来啦), 信区: DotNET 标 题: Visual C#的SQL Server编程 发信站: BBS 水木清华站 (Tue Dec 11 10:35:48 2001) 发信人: xixixi (wenwen), 信区: dotNET 标 题: Visual C#的SQL Server编程 发信站: 飘渺水云间 (Sun Dec 9 21:17:09 2001), 转信 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 S QL 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语句时只填入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.S的数据库存取程序是相同 的。 将服务器资源管理器中的数据连接拖至新建的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上,并 在Pag e_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.Te xt+"'"; //SQL语句 sqlDeleteCommand1.Connection = this.sqlConnection1; //声明使用的数据连接 sqlDeleteCommand1.Connection.Open(); sqlDeleteCommand1.ExecuteNonQuery(); //执行该SQL语句 sqlDeleteCommand1.Connection.Close(); 执行这段程序时,只需在TextBox5中填入要删除的记录name字段的值,然后按该按 键即 可执行删除功能。 更新操作原理都类同,具体开发中可以有许多技巧丰富完善上述程序,如增加错误 处理 等,这里限于篇幅不一一叙述了。 综上可知,充分利用Visual Studio.NET的开发环境来简化程序设计对提高编程效 率和质 量极有好处。 上述程序均用C#开发,在中? 删除数据 若想删除数据库数据时,我们则需在Web Form上新增一个TextBox5及一个按键,为 该按 键增加如下代码: //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 Studi o.NET中文Beta 2环境下,编译并正常运行,中文显示正常。 -- 我早已习惯无情的风雨 但不能没有你…… ※ 来源:·飘渺水云间 Freecity.dhs.org·[FROM: xixixi] -- ※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.214.13] 上一篇 返回上一页 回到目录 回到页首 下一篇
|