当前位置:首页 > Silverlight 2(beta1)数据操作(1)——使用ASP.NET Web Service

Silverlight 2(beta1)数据操作(1)——使用ASP.NET Web Service

点击次数:1322  更新日期:2010-12-30
\n

Silverlight 2 (beta1)数据操作(1)——使用ASP.NET Web Service进行数据CRUD操作(上)

\n

目录


\n

    \n
  • 导言
    \n
  • 软件需求
    \n
  • 在SQL 2005中创建数据库
    \n
  • 在Visual Studio 2008中创建 Silverlight 2 (beta1)工程
    \n
  • 在ASP.NET工程里创建Web Service
    \n
  • 在Silverlight 2 (beta1)工程中引用ASP.NET Web Service
    \n
  • 添加数据部分
    \n
  • 查询数据部分
    \n
  • 修改数据部分
    \n
  • 删除数据部分
    \n
  • 整合程序
    \n
  • 结语

\n

导言


\n

Silverlight 2支持JSON、Web Service、WCF以及Sockets等新特性对数据CRUD操作,这个系列用实例结合数据库一步一步的图文描述来学习一下Silverlight 2 beta 1中进行数据库的CRUD操作方面的实战能力。一些关于Silverlight 2 Beta1的基础知识可以去看TerryLee一步一步学Silverlight 2系列文章


\n

这篇文章介绍如何在Silverlight 2 beta 1中使用ASP.NET Web Service进行数据CRUD操作。


\n

软件需求


\n

    \n
  • Silverlight 2 (beta1)
    \n
  • Visual Studio 2008
    \n
  • SQL 2005 Express with Management Studio

\n

在SQL 2005中创建数据库


\n

注意:如果你已经知道如何在SQL 2005中创建数据库,请跳过此步骤看下一部分。


\n

第一步:打开SQL Server Management Studio Express


\n

打开SQL Server Management Studio Express


\n

第二步:使用Windows身份验证连接进入数据库


\n

使用Windows身份验证连接数据库


\n

第三步:在对象资源管理器窗口的数据库节点上右击选择“新建数据库…”


\n

选择“新建数据库...”


\n

第四步:输入数据库名称(我命名为“YJingLeeDB”),然后单击“确定”按钮。


\n

数据库


\n

第五步:在刚刚创建数据库的表节点上右击选择“新建表…”


\n

选择“新建表...”


\n

第六步:创建一个User表,新建2列,分别为UserID(主键)和UserName。


\n

User表


\n

好了,这个表创建好了,接下来我们将使用这个表。


\n

在Visual Studio 2008中创建 Silverlight 2 (beta1)工程


\n

第一步:打开VS 2008创建一个新的Silverlight 2工程。


\n

创建一个新的Silverlight 2工程


\n

第二步:选择创建一个ASP.NET Web Site或者Web Application Project用来托管Silverlight应用程序。


\n

选择创建一个ASP.NET Web Site托管Silverlight应用程序


\n

第三步:创建完成后的项目结构如下所示:


\n

完成后的项目结构


\n

在ASP.NET工程里创建Web Service


\n

第一步:在ASP.NET工程节点上右击,选择“Add New Item…”


\n

选择“Add New Item...”


\n

第二步:在弹出的对话框中,选择“Web Service”项,并命名为“UserManage.asmx”


\n

选择“Web Service”项


\n

第三步:在web.config文件的 <configuration>标签下添加数据库连接。


\n
<connectionStrings>
\n <add name=”sqlConnectionString”
\nconnectionString=”Data Source=.\\SQLEXPRESS;Initial Catalog=YJingLeeDB;Integrated Security=True”/>
\n</connectionStrings>

\n

第四步:编辑UserManager.asmx文件,分别编写CRUD四个方法。


\n

1.CreateUser方法


\n
[WebMethod]
\npublic bool CreateUser(string userName)
\n{
\n try
\n {
\n SqlConnection _sqlConnection = new SqlConnection();
\n _sqlConnection.ConnectionString = ConfigurationManager.
\n ConnectionStrings["sqlConnectionString"].ToString();
\n _sqlConnection.Open();
\n SqlCommand command = new SqlCommand();
\n command.Connection = _sqlConnection;
\n command.CommandType = CommandType.Text;
\n command.CommandText = “INSERT INTO [User] ([UserName]) VALUES (‘” +
\n userName.ToString().Replace(“‘”, “””) + “‘)”;
\n command.ExecuteNonQuery();
\n _sqlConnection.Close();
\n return true;
\n }
\n catch (Exception ex)
\n {
\n return false;
\n }
\n}

\n

2.RetrieveUser方法


\n
[WebMethod]
\npublic string RetrieveUsers()
\n{
\n try
\n {
\n SqlConnection _sqlConnection = new SqlConnection();
\n _sqlConnection.ConnectionString = ConfigurationManager.
\n ConnectionStrings["sqlConnectionString"].ToString();
\n _sqlConnection.Open();
\n SqlDataAdapter da = new SqlDataAdapter();
\n da.SelectCommand = new SqlCommand(“SELECT * FROM [User]“, _sqlConnection);
\n DataSet ds = new DataSet();
\n da.Fill(ds);

\n

StringBuilder sb = new StringBuilder();
\n sb.Append(“<?xml version=\\”1.0\\” encoding=\\”utf-8\\” ?>”);
\n sb.Append(“<Users>”);
\n foreach (DataRow dr in ds.Tables[0].Rows)
\n {
\n sb.Append(“<User>”);
\n sb.Append(“<UserID>”);
\n sb.Append(dr[0].ToString());
\n sb.Append(“</UserID>”);
\n sb.Append(“<UserName>”);
\n sb.Append(dr[1].ToString());
\n sb.Append(“</UserName>”);
\n sb.Append(“</User>”);
\n }
\n sb.Append(“</Users>”);

\n

_sqlConnection.Close();
\n return sb.ToString();
\n }
\n catch (Exception ex)
\n {
\n return string.Empty;
\n }
\n}


\n

3.UpdateUser方法


\n
[WebMethod]
\npublic bool UpdateUser(int userID, string userName)
\n{
\n try
\n {
\n SqlConnection _sqlConnection = new SqlConnection();
\n _sqlConnection.ConnectionString = ConfigurationManager.
\n ConnectionStrings["sqlConnectionString"].ToString();
\n _sqlConnection.Open();
\n SqlCommand command = new SqlCommand();
\n command.Connection = _sqlConnection;
\n command.CommandType = CommandType.Text;
\n command.CommandText = “UPDATE [User] ” +
\n “SET [UserName] = ‘” + userName.ToString().Replace(“‘”, “””) + “‘” +
\n “WHERE [UserID] = ” + userID.ToString();
\n command.ExecuteNonQuery();
\n _sqlConnection.Close();
\n return true;
\n }
\n catch (Exception ex)
\n {
\n return false;
\n }
\n}

\n

4.DeleteUser方法


\n
[WebMethod]
\npublic bool DeleteUser(int userID)
\n{
\n try
\n {
\n SqlConnection _sqlConnection = new SqlConnection();
\n _sqlConnection.ConnectionString = ConfigurationManager.
\n ConnectionStrings["sqlConnectionString"].ToString();
\n _sqlConnection.Open();
\n SqlCommand command = new SqlCommand();
\n command.Connection = _sqlConnection;
\n command.CommandType = CommandType.Text;
\n command.CommandText = “DELETE [User] WHERE [UserID] = ” + userID.ToString();
\n command.ExecuteNonQuery();
\n _sqlConnection.Close();
\n return true;
\n }
\n catch (Exception ex)
\n {
\n return false;
\n }
\n}

\n

第五步:修改ASP.NET工程属性,修改一个固定的端口。


\n

修改固定端口


\n

第六步:编译ASP.NET工程。


\n

在Silverlight 2 (beta1)工程中引用ASP.NET Web Service


\n

第一步:在Silverlight工程的引用节点上右击选择“Add Service Reference…”。


\n

选择“Add Service Reference...”


\n

第二步:在下面的对话框中点击“Discover”按钮


\n

点击“Discover”按钮


\n

第三步:在点击Discover按钮之后,地址栏里显示了UserManage.asmx。在Service面板出现一个Web Service,双击这个服务。修改Namespace为WebServiceProxy,单击OK。


\n

修改Namespace为WebServiceProxy


\n

现在,我们可以在Silverlight工程中使用Web Service了,接下来,我还是一步一步展示如何使用Web Service查询数据。


\n

这一篇就写到这里,下一篇继续完成这个实例。


\n

下一篇包含以下内容:


\n

    \n
  • 添加数据部分
    \n
  • 查询数据部分
    \n
  • 修改数据部分
    \n
  • 删除数据部分
    \n
  • 整合程序
    \n
  • 结语

\n

下一篇:Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web Service进行数据CRUD操作(下)


\n

作者:李永京YJingLee’s Blog
出处:http://lyj.cnblogs.com

\n