Silverlight利用WebService进行增删改查

合集下载

Web增删改查的流程_正在整理中

Web增删改查的流程_正在整理中

1.增删改查功能说明1.1.说明1,功能2,转向页面(重定向)命名:使用DispatchAction,把一组业务相关的方法放在一个类中。

命名如下:ActionForward与页面的命名说明:一般情况下,可以添加和修改使用同一个页面。

1.2.方法声明1.3.列表的流程练习:根据静态页面list.html,改写为list.jsp 1.4.删除的流程传递id参数,指定要被删除的记录的id值。

1.5.添加的流程1.6.修改的流程1.7.表单验证服务器端验证,ActionForm客户端验证:JavaScript1.7.1.服务器端验配置validate=”false”,在Action中自行验证1.7.2.客户端验证2.分页步骤:1,确定显示效果与数据2,定义JavaBean:PageView3,准备显示数据2.1. 显示效果页面显示效果(最多显示10个)1 2 3 4 5 总页码<=10个(共5页),显示所有页码3 4 5 6 7 8 9 10 11 12 显示当前页附近的共10个页码(共13页)1 2 3 4 5 6 7 8 9 10 (前面不足4个)显示前10个页码(共13页)4 5 6 7 8 9 10 1112 13 (后面不足5个)显示后10个页码(共13页)1,条件2,页码2.2. 重用1,分页的页面代码重用:使用<%include%>包含分页信息显示代码(分页用的地址是不同的,由包含页面提供)2,分页的计算逻辑重用:把计算的逻辑放到PageView构造方法中,只接受几个必须参数。

3,支持分页的dao方法:只需要一条查询语句,即可完成总数量与当前页数据的查询。

2.步骤先学习将要用到的知识点,或进行相应的练习。

2009-11-2总结1,分析需求,写出相应的静态页面(效果页面)。

2,设计实体,实体映射,生成表结构(Dao接口与实现类)。

3,分析功能并且定义出相应的Action中的方法,还要写出转向的资源。

Servlet实现增删改查功能

Servlet实现增删改查功能

MVC模式M:Model,即模型,对于JavaBeanV:View,即试图,对应JSP页面C:Controller,即控制器,对应Servlet1.以下为MVC实现一个简单的增删改查功能1>显示记录2>增加一条记录3>修改一条记录4>删除一条记录程序源代码:M层:模型层1.封装一条信息的所有属性JavaBean.java ,即VO package muta.bean;/*** @author help*封装一条信息的所有属性*/public class JavaBean {private int id;private String name;private String password;private String sex;private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public String getPassword() {return password;}public void setPassword(String password) { this.password = password;}public String getSex() {return sex;}public void setSex(String sex) {/*** @author help*操作数据库的方法*/public class SqlBean {Connection con;PreparedStatement pre;ResultSet rs;public SqlBean(){try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();}try {con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/MyServl et","root","122828");} catch (SQLException e) {e.printStackTrace();}}/*** @author help**插入新的一条记录* @return*/public int getInsert(String sql,JavaBean jBean) {int count =0;try {pre = con.prepareStatement(sql);pre.setString(1,jBean.getName());pre.setString(2,jBean.getPassword());pre.setString(3,jBean.getSex());pre.setInt(4,jBean.getAge());count=pre.executeUpdate();} catch (SQLException e) {e.printStackTrace();}finally{try {pre.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return count;}/*** @author help**删除一条记录* @return*/public int getDelete(String sql,int id){int count =0;try {pre = con.prepareStatement(sql);pre.setInt(1, id);count=pre.executeUpdate();} catch (SQLException e) {e.printStackTrace();}finally{try {pre.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return count;}/*** @author help**根据ID查询某一条记录* @return*/public JavaBean getSearchById(String sql,int id){JavaBean jBean = new JavaBean();try {pre = con.prepareStatement(sql);pre.setInt(1, id);rs=pre.executeQuery();while(rs.next()){jBean.setId(rs.getInt("id"));jBean.setName(rs.getString("name"));jBean.setPassword(rs.getString("password"));jBean.setSex(rs.getString("sex"));jBean.setAge(rs.getInt("age"));}} catch (SQLException e){e.printStackTrace();}return jBean;}/*** @author help**更新某一条记录* @return*/public int getUpdate(String sql,JavaBean jBean) {int count =0;try {pre = con.prepareStatement(sql);pre.setInt(5,jBean.getId());pre.setString(1,jBean.getName());pre.setString(2,jBean.getPassword());pre.setString(3,jBean.getSex());pre.setInt(4,jBean.getAge());count = pre.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {pre.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return count;}jBean.setAge(rs.getInt("age"));list.add(jBean);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {pre.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return list;}}V层:试图层1.显示记录集的页面 SearchList.jsp<%@page language="java"import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName() +":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>显示记录</title></head><body><center><font color=red size=72>学生信息如下:</font><hr><table border=1bgColor="#ffffff"width="500px" height="100px"><tr><td>ID</td><td>姓名</td><td>密码</td><td>性别</td><td>年龄</td><td><center>操作</center></td></tr><jsp:useBean id="sBean"class="muta.bean.SqlBean"/> <jsp:useBean id="jBean"class="muta.bean.JavaBean"/><%String sql ="select * from student order by id";java.util.List list =sBean.getSearch(sql);for(java.util.Iterator it=list.iterator();it.hasNext();){//获取一个JavaBean对象jBean =(muta.bean.JavaBean)it.next();%><tr><td><%=jBean.getId() %></td><td><%=jBean.getName() %></td><td><%=jBean.getPassword() %></td><td><%=jBean.getSex() %></td><td><%=jBean.getAge() %></td><td><a href="Insert.jsp">增加</a><a href="Delete?id=<%=jBean.getId()%>">删除</a>&nbsp;<ahref="SearchById?id=<%=jBean.getId()%>">更新</a> </td></tr><% }%></table>2.插入页面Insert.jsp<center><font color=red size=72>学生管理页面</font><hr><form action="Insert"method="post"><table border="1"><tr><td>姓名:</td><td><input name ="name"></td></tr><tr><td>密码:</td><td><input type="password"name ="password"></td> </tr><tr><td>性别:</td><td><input type="radio"name ="sex"value="男">男<input type="radio"name ="sex"value="女">女</td><tr><td>年龄:</td><td><input type="text"name ="age"></td> </tr><tr><td colspan="2"><center><input type="submit"value="提交"><input type="reset"value="重置"></center></td></tr></table></form><a href="SearchList.jsp">查询</a></center></body></html>3.更新页面Update.jsp<%@page language="java"import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName() +":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>更新</title></head><body><center><font color=red size=72>学生管理页面</font><hr><form action="Update"method="post""><table border="1"><tr><td>学生ID:</td><td><input name="id"value="<%=request.getAttribute("id") %>" readonly></td></tr><tr><td>学生姓名:</td><td><input name="name"value="<%=request.getAttribute("name") %>"></td> </tr><tr><td>学生密码:</td><td><input type="password"name="password"value="<%=request.getAttribute("password") %>"> </td></tr><tr><td>学生性别:</td><td><input type="radio"name ="sex"value="男"<%=request.getAttribute("man") %>>男<input type="radio"name ="sex"value="女"<%=request.getAttribute("woman") %>>女</td></tr><tr><td>学生年龄:</td><td><input type="text"name="age"value="<%=request.getAttribute("age") %>"></td> </tr><tr><td colspan="2"><center><input type="submit"value="提交"><input type="reset"value="重置"></center>4.出错页面Error.jspC层:控制层—Servlet1.显示记录集的Servlet----SearchById.javapackage muta.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import muta.bean.JavaBean;import muta.bean.SqlBean;public class SearchById extends HttpServlet {private static final long serialVersionUID = 1L;/*** The doDelete method of the servlet. <br>** This method is called when a HTTP delete request is received.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doDelete(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// Put your code here}/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponseresponse)throws ServletException, IOException {doPost(request,response);}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");//获取用户IDString sid = request.getParameter("id");int id =Integer.parseInt(sid);String sql ="select * from student where id=?"; SqlBean sBean = new SqlBean();JavaBean jBean = sBean.getSearchById(sql, id);//用户IDrequest.setAttribute("id",jBean.getId());//用户姓名request.setAttribute("name",jBean.getName());//用户密码request.setAttribute("password",jBean.getPassword());//用户性别String sex="";String man="";String woman="";if(jBean.getSex()!=null){sex=jBean.getSex().trim();if(sex.equals("男")){man ="checked";}else{woman ="checked";}}request.setAttribute("man",man);request.setAttribute("woman",woman);//用户年龄request.setAttribute("age",jBean.getAge());//转发request.getRequestDispatcher("Update.jsp").forward(request,2.增加记录的Servlet----Insert.javaprivate static final long serialVersionUID = 1L;/*** The doDelete method of the servlet. <br>** This method is called when a HTTP delete request is received.** @param request the request send by the client to the server* @param response the response send by the server to the client * @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doDelete(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// Put your code here}/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");doPost(request,response);}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.* @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");//获取前台页面数据String name =request.getParameter("name");String password =request.getParameter("password");String sex =request.getParameter("sex");String sage = request.getParameter("age");int age =Integer.parseInt(sage);//封装到JavaBean对象中去JavaBean jBean = new JavaBean();jBean.setName(name);jBean.setPassword(password);jBean.setSex(sex);jBean.setAge(age);//调用模型层String sql = "insert into student(name,password,sex,age) values(?,?,?,?)";SqlBean sBean = new SqlBean();int count =sBean.getInsert(sql,jBean);String url="";if(count>0){url="SearchList.jsp";}else{url ="error.jsp";request.setAttribute("error", "ע��");}//转发ת3.更新记录的Servlet----Updated.java/****/private static final long serialVersionUID = 1L;/*** The doDelete method of the servlet. <br>** This method is called when a HTTP delete request is received.** @param request the request send by the client to the server* @param response the response send by the server to the client * @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doDelete(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// Put your code here}/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request,response);}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");//获得前台表单信息String sid = request.getParameter("id");int id =Integer.parseInt(sid);String name =request.getParameter("name");String password =request.getParameter("password");String sex =request.getParameter("sex");String sage = request.getParameter("age");int age =Integer.parseInt(sage);//封装到JavaBean对象中去JavaBean jBean = new JavaBean();jBean.setId(id);jBean.setName(name);jBean.setPassword(password);jBean.setSex(sex);jBean.setAge(age);String sql ="update student set name=?,password=?,sex=?,age=? where id=?";SqlBean sBean = new SqlBean();int count =sBean.getUpdate(sql,jBean);String url="";if(count>0){url="SearchList.jsp";}4.删除记录的Servlet----Delete.javaimport muta.bean.SqlBean;public class Delete extends HttpServlet {private static final long serialVersionUID = 1L;/*** The doDelete method of the servlet. <br>** This method is called when a HTTP delete request is received.** @param request the request send by the client to the server* @param response the response send by the server to the client * @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doDelete(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// Put your code here}/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");doPost(request,response);}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals topost.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");//获取超链接传来的数据String sId = request.getParameter("id");int id =Integer.parseInt(sId);////调用模型层删除方法String sql = "delete from student where id=?";SqlBean sBean = new SqlBean();int count =sBean.getDelete(sql, id);XML文件xsi:schemaLocation="/xml/ns /javaee/xml/ns/javaee/web-app_2_5. xsd"><servlet><servlet-name>Update</servlet-name><servlet-class>muta.servlet.Update</servlet-class ></servlet><servlet><servlet-name>SearchById</servlet-name><servlet-class>muta.servlet.SearchById</servlet-c lass></servlet><servlet><servlet-name>Insert</servlet-name><servlet-class>muta.servlet.Insert</servlet-class ></servlet><servlet><servlet-name>Delete</servlet-name><servlet-class>muta.servlet.Delete</servlet-class ></servlet><servlet-mapping><servlet-name>Update</servlet-name><url-pattern>/Update</url-pattern></servlet-mapping><servlet-mapping><servlet-name>SearchById</servlet-name><url-pattern>/SearchById</url-pattern></servlet-mapping><servlet-mapping><servlet-name>Insert</servlet-name><url-pattern>/Insert</url-pattern></servlet-mapping>。

webservice函数用法

webservice函数用法

webservice函数是一种常用的网络服务接口,用于实现不同系统或评台之间的数据交换和通信。

它可以帮助开发人员轻松地通过网络调用远程的服务程序,并在不同的评台上进行数据交换和通信。

本文将对webservice函数的用法进行详细介绍,希望能够对相关开发人员有所帮助。

一、webservice函数的定义webservice函数是一种基于网络的服务接口,它使用标准的HTTP协议进行数据传输,通常通过SOAP(Simple Object Access Protocol)来进行数据的封装和传输。

开发人员可以通过webservice函数轻松地将自己的程序封装成一个web服务,并通过网络对外提供服务。

二、webservice函数的语法在大多数的编程语言中,webservice函数的语法都比较相似。

例如在Java语言中,可以通过JAX-WS或JAX-RPC等方式来实现webservice函数。

在.NET评台中,可以使用来实现webservice函数。

一般来说,webservice函数的语法包括以下几个方面:1. 定义webservice函数的接口2. 实现webservice函数的具体功能3. 部署webservice函数到服务器上三、webservice函数的用法使用webservice函数可以让开发人员轻松地实现不同系统之间的数据交换和通信,下面将介绍webservice函数的常用用法。

1. 定义webservice函数的接口在实际开发中,首先需要定义webservice函数的接口,即需要确定需要提供哪些服务。

开发人员可以根据实际需求,定义出webservice函数的各种接口,包括输入参数和返回值等。

2. 实现webservice函数的具体功能一旦确定了webservice函数的接口,接下来就需要实现具体的功能。

开发人员可以根据接口的定义,编写相应的代码来实现webservice函数的功能。

在实现的过程中,需要考虑数据的安全性和可靠性等问题。

WebService服务调用方法介绍

WebService服务调用方法介绍

WebService服务调用方法介绍WebService是一种基于网络的互操作技术,可通过简单对象访问协议 (SOAP) 来实现不同平台和编程语言之间的通信。

WebService服务调用方法是指通过客户端应用程序与后端WebService进行通信,实现数据传输和功能调用的过程。

下面将详细介绍WebService服务调用方法。

1. 了解WebService服务:在使用WebService服务之前,首先需要了解所需要调用的WebService服务的接口、方法以及参数。

通常,WebService会提供一个WSDL(Web Services Description Language)文件,其中定义了WebService的接口和方法信息。

通过WSDL文件,客户端可以获取到所有WebService接口的详细描述和相关信息。

2. 创建客户端应用程序:为了调用WebService服务,需要创建一个客户端应用程序。

这可以是一个使用特定编程语言编写的应用程序,如Java、C#等。

在客户端应用程序中,需要导入和使用与WebService相关的库和类,以便在应用程序中调用WebService服务。

3. 创建服务代理:客户端应用程序需要创建一个用于与WebService 服务进行通信的代理。

代理是客户端应用程序与WebService服务之间的中间层,它用于封装与WebService的通信细节,并提供一种方便的方式来调用WebService服务的方法。

根据不同编程语言和框架的要求,可以通过使用类似“wsimport”或“svcutil”等工具来生成代理类。

4. 调用WebService服务方法:通过创建的代理类,客户端应用程序可以直接调用WebService服务的方法。

在调用方法之前,需要根据WebService服务的接口定义传递正确的参数。

参数的传递通常是通过创建请求对象并为其设置相应的属性来完成的。

请求对象将包含需要传输给WebService服务的数据。

增删改查项目流程

增删改查项目流程

增删改查项目流程在软件开发和项目管理中,增删改查(CRUD)是指对数据库中的数据进行增加(Create)、删除(Delete)、修改(Update)和查询(Retrieve)的操作。

在项目开发过程中,对数据的增删改查是非常常见的操作,因此建立一个清晰的流程来处理这些操作是非常重要的。

本文将介绍增删改查项目流程的具体步骤和注意事项。

一、增加项目流程1. 确定需求:在进行数据增加操作之前,首先要明确需求,包括新增数据的类型、格式、以及所需的字段等。

2. 创建表结构:根据需求,设计数据库表结构,包括表名、字段名、数据类型、主键、外键等。

3. 编写SQL语句:根据表结构,编写SQL语句来创建新的数据表或向现有表中插入新的数据。

4. 数据验证:在插入新数据之前,需要进行数据验证,确保数据的完整性和准确性。

5. 插入数据:使用INSERT语句向数据库中插入新的数据。

6. 测试:对新增数据的插入操作进行测试,确保数据的正确性和完整性。

二、删除项目流程1. 确定需求:在进行数据删除操作之前,需要明确需求,包括要删除的数据类型、条件等。

2. 编写SQL语句:根据需求,编写DELETE语句来删除数据库中的数据。

3. 数据验证:在删除数据之前,需要进行数据验证,确保删除操作的准确性和完整性。

4. 删除数据:执行DELETE语句,删除数据库中符合条件的数据。

5. 测试:对删除数据的操作进行测试,确保数据被正确删除。

三、修改项目流程1. 确定需求:在进行数据修改操作之前,需要明确需求,包括要修改的数据类型、条件、以及修改的字段等。

2. 编写SQL语句:根据需求,编写UPDATE语句来修改数据库中的数据。

3. 数据验证:在修改数据之前,需要进行数据验证,确保修改操作的准确性和完整性。

4. 修改数据:执行UPDATE语句,修改数据库中符合条件的数据。

5. 测试:对修改数据的操作进行测试,确保数据被正确修改。

四、查询项目流程1. 确定需求:在进行数据查询操作之前,需要明确需求,包括要查询的数据类型、条件、以及需要返回的字段等。

servlet增删改查

servlet增删改查

servlet增删改查Servlet使⽤Servlet进⾏增删改查步骤1.导⼊以下⼏个jar包到WEB-INF下的lib包⾥,必要时build path,其中jstl.jar和standard.jar是使⽤jstl要⽤的(eclipse中)2.写对应的dao,service,以及实现类3.写对应的servlet类,必须继承HttpServlet类1. 在此servlet类⾥加私有的service实现类;2. 添加doPost()和doGet⽅法:⼀般是在doPost()⾥写具体操作代码,doGet()⽅法⾥调⽤doPost,这样,不管提交⽅式是post还是get,都可以访问;3. doPost()⽅法⾥要先加request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");1. 取参和传参,转发和重定向取参:String age1=request.getParameter("age");int age = Integer.parseInt(age1);传参:request.setAttribute("emp", emp);转发:request.getRequestDispatcher("/emp.jsp").forward(request, response);重定向:response.sendRedirect(request.getContextPath()+"/error.jsp");5配置web.xml,写对应的servlet和其映射访问时:先通过url定位到web.xml⾥servlet的url-pattern,再对应到servlet-name,再找到对应的servlet类,根据访问时提交的⽅法调⽤相应的doPost()或者doGet()⽅法6.写对应的前台页⾯取后台传过来的数据:${ }提交的url路径:<form action="/servletTest/updateEmp" method="post"></form><a href="/servletTest/deleteEmp?id=${emp.id }">删除</a>⽰例代码DbUtil.javapackage util;import mons.dbutils.QueryRunner;import boPooledDataSource;public class DbUtil {private static ComboPooledDataSource ds=new ComboPooledDataSource(); public static QueryRunner getQueryRunner(){QueryRunner qr = new QueryRunner(ds);return qr;}}c3p0-config.xml<c3p0-config><default-config><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql://localhost/test</property><property name="user">root</property><property name="password"></property><property name="initialPoolSize">5</property><property name="maxPoolSize">10</property></default-config></c3p0-config>EmpDao.javapackage dao;import java.util.List;import entity.Emp;public interface EmpDao {public int add(Emp emp);public int delete(int id);public int update(Emp emp);public Emp find(int id);public List<Emp> findAll();}EmpDaoImpl.javapackage dao.impl;import java.sql.SQLException;import java.util.List;import mons.dbutils.QueryRunner;import mons.dbutils.handlers.BeanHandler;import mons.dbutils.handlers.BeanListHandler;import util.DbUtil;import dao.EmpDao;import entity.Emp;public class EmpDaoImpl implements EmpDao {QueryRunner qr = DbUtil.getQueryRunner();@Overridepublic int add(Emp emp) {String sql="insert into emp(age,name) values(?,?) ";int num=0;try {num = qr.update(sql, emp.getAge(),emp.getName());} catch (SQLException e) {e.printStackTrace();}return num;}@Overridepublic List<Emp> findAll() {String sql="select*from emp";List<Emp> emps=null;try {emps=qr.query(sql, new BeanListHandler<Emp>(Emp.class)); } catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return emps;}@Overridepublic int delete(int id) {String sql="delete from emp where id="+id;int num=0;try {num=qr.update(sql);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return num;}@Overridepublic int update(Emp emp) {String sql="update emp set name=?,age=? where id=?"; System.out.println("sql---------"+sql);int num=0;try {num=qr.update(sql, emp.getName(),emp.getAge(),emp.getId()); } catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return num;}@Overridepublic Emp find(int id) {String sql="select * from emp where id="+id;Emp emp=null;try {emp=qr.query(sql, new BeanHandler<Emp>(Emp.class));} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return emp;}}EmpService.javapackage service;import java.util.List;import entity.Emp;public interface EmpService {public int addEmp(Emp emp);public List<Emp> findAll();public int delete(int id);public int update(Emp emp);public Emp find(int id);}EmpServiceImpl.javapackage service.impl;import java.util.List;import service.EmpService;import dao.impl.EmpDaoImpl;import entity.Emp;public class EmpServiceImpl implements EmpService {private EmpDaoImpl empDao=new EmpDaoImpl();@Overridepublic int addEmp(Emp emp) {int num = empDao.add(emp);return num;}@Overridepublic List<Emp> findAll() {return empDao.findAll();}@Overridepublic int delete(int id) {return empDao.delete(id);}@Overridepublic int update(Emp emp) {return empDao.update(emp);}@Overridepublic Emp find(int id) {return empDao.find(id);}}AddEmpServlet.javapackage servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import service.impl.EmpServiceImpl;import entity.Emp;public class AddEmpServlet extends HttpServlet {private EmpServiceImpl empService=new EmpServiceImpl();@Overridepublic void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");String age1=request.getParameter("age");int age = Integer.parseInt(age1);String name = request.getParameter("name");Emp emp=new Emp();emp.setAge(age);emp.setName(name);int num = empService.addEmp(emp);if(num>0){response.sendRedirect(request.getContextPath()+"/empList");}else{response.sendRedirect(request.getContextPath()+"/error.jsp");}}@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);;}}DeleteEmpServlet.javapackage servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import service.impl.EmpServiceImpl;import entity.Emp;public class DeleteEmpServlet extends HttpServlet {private EmpServiceImpl empService=new EmpServiceImpl();@Overridepublic void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");String id1 = request.getParameter("id");Integer id=Integer.parseInt(id1);System.out.println("进⼊删除,id="+id);int num = empService.delete(id);System.out.println("删除?---"+num);if(num>0){response.sendRedirect(request.getContextPath()+"/empList");}else{response.sendRedirect("/error.jsp");}}@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}}//修改时,先找到要修改的对象,再转发到需要修改的页⾯,显⽰要修改的对象信息,然后提交时修改FindUpdEmpServlet .javapackage servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import entity.Emp;import service.impl.EmpServiceImpl;public class FindUpdEmpServlet extends HttpServlet {private EmpServiceImpl empService=new EmpServiceImpl();@Overridepublic void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");Integer id=Integer.parseInt(request.getParameter("id"));Emp emp = empService.find(id);System.out.println("要修改的emp"+emp.getName());if(emp!=null){request.setAttribute("emp", emp);request.getRequestDispatcher("/update.jsp").forward(request, response);;}else{response.sendRedirect(request.getContextPath()+"/error.jsp");}}@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}}UpdateEmpServlet.javapackage servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import service.impl.EmpServiceImpl;import entity.Emp;public class UpdateEmpServlet extends HttpServlet {private EmpServiceImpl empService=new EmpServiceImpl();@Overridepublic void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");String id1 = request.getParameter("id");Integer id=Integer.parseInt(id1);String name = request.getParameter("name");String age1 = request.getParameter("age");Integer age=Integer.parseInt(age1);Emp emp=new Emp();emp.setId(id);emp.setAge(age);emp.setName(name);//empService.find(id);int num = empService.update(emp);if(num>0){response.sendRedirect(request.getContextPath()+"/empList");}else{response.sendRedirect("/error.jsp");}}@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}}FindEmpServlet.javapackage servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import entity.Emp;import service.impl.EmpServiceImpl;public class FindEmpServlet extends HttpServlet {private EmpServiceImpl empService=new EmpServiceImpl();@Overridepublic void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");Integer id=Integer.parseInt(request.getParameter("id"));Emp emp = empService.find(id);System.out.println("emp---"+emp.getName()+"---"+emp.getAge());if(emp!= null){request.setAttribute("emp", emp);request.getRequestDispatcher("/emp.jsp").forward(request, response);}else{response.sendRedirect(request.getContextPath()+"/error.jsp");}}@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}}FindEmp s Servlet.javapackage servlet;import java.io.IOException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import entity.Emp;import service.impl.EmpServiceImpl;public class FindEmpsServlet extends HttpServlet {private EmpServiceImpl empService=new EmpServiceImpl();@Overridepublic void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");List<Emp> emps = empService.findAll();if(emps!=null){request.setAttribute("emps", emps);request.getRequestDispatcher("/list.jsp").forward(request, response);}else{response.sendRedirect(request.getContextPath()+"/error.jsp");}}@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}}web.xml前台页⾯add.jsp<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"> <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>添加员⼯</title></head><body><form action="/servletTest/addEmp" method="post">姓名:<input type="text" name="name"/><p>年龄:<input type="text" name="age"/><p><input type="submit" value="添加"/></form></body></html>list.jsp<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><%@taglib uri="/jsp/jstl/core" prefix="c"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"> <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>员⼯列表</title></head><body>添加成功<table><tr ><td colspan="3"><a href="index.jsp">添加</a></td></tr><tr><th>编号</th><th>年龄</th><th>age</th><th colspan="3">操作</th></tr><!--items⾥⾯写${requestScope.emps}也可以 --><c:forEach items="${emps }" var="emp" varStatus="vs"><tr><td>${emp.id }</td><td>${ }</td><td>${emp.age }</td><td><a href="/servletTest/deleteEmp?id=${emp.id }">删除</a></td><td><a href="/servletTest/findUpdEmp?id=${emp.id }">修改</a></td><td><a href="/servletTest/findEmp?id=${emp.id }">查看</a></td></tr></c:forEach></table></body></html>emp.jsp<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"> <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body>编号:${emp.id }<p>姓名:${ }<p>年龄:${emp.age }</body></html>update.jsp<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"> <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>修改员⼯</title></head><body><form action="/servletTest/updateEmp" method="post">编号:<input type="text" name="id" value="${emp.id }" readonly="readonly"/><p>姓名:<input type="text" name="name" value="${ }"/><p>年龄:<input type="text" name="age" value="${emp.age }"/><p><input type="submit" value="提交"/></form></body></html>error.jsp<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"> <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body><h1>出错了</h1></body></html>。

webservice的调用方式

webservice的调用方式

webservice的调用方式Web Service的调用方式Web Service是一种基于互联网的通信协议,通过HTTP和XML 来进行通信。

它可以实现不同平台、不同语言之间的数据交互和共享,为分布式应用提供了一种标准化的通信方式。

在使用Web Service时,我们可以采用不同的调用方式,以满足不同的需求和场景。

1. SOAP方式调用SOAP(Simple Object Access Protocol)是一种基于XML的消息格式,用于在Web Service之间进行通信。

SOAP方式调用Web Service需要创建SOAP消息,并通过HTTP传输到目标服务端。

SOAP消息包含了调用的方法、参数和返回值等信息。

服务端接收到SOAP消息后,解析其中的内容,并执行相应的方法,然后将结果封装成SOAP消息返回给客户端。

2. RESTful方式调用REST(Representational State Transfer)是一种基于Web的软件架构风格,它使用简单的URL作为资源的标识符,并通过HTTP 的不同请求方法来对资源进行操作。

RESTful方式调用Web Service时,我们可以使用不同的HTTP方法(如GET、POST、PUT、DELETE)来对资源进行增删改查操作。

客户端通过构建不同的URL来调用Web Service,服务端根据URL的不同执行相应的操作,并返回结果。

3. JSON-RPC方式调用JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种基于JSON格式的远程过程调用协议。

JSON-RPC方式调用Web Service时,客户端将调用的方法、参数等信息封装成JSON格式的消息,并通过HTTP传输到服务端。

服务端接收到消息后,解析其中的内容,并执行相应的方法,然后将结果封装成JSON格式的消息返回给客户端。

一步一步学Silverlight 2系列(13)

一步一步学Silverlight 2系列(13)

一步一步学Silverlight 2系列(13):数据与通信之WebRequest概述Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON、Web Service、WCF 以及Sockets的支持等一系列新的特性。

《一步一步学Silverlight 2系列》文章带您快速进入Silverli ght 2开发。

本文将简单介绍在Silverlight 2中如何使用WebRequest进行数据的提交和获取。

简单示例在本文中,我们仍然使用在一步一步学Silverlight 2系列(12):数据与通信之WebClient中用过的示例,只不过稍微做一点小的改动,使用WebRequest提交书籍编号数据,并根据书籍号返回价格信息。

最终运行的结果如下图:编写界面布局,XAML如下:在界面加载时绑定书籍列表,关于数据绑定可以参考一步一步学Silverlight 2系列(11):数据绑定。

接下来在SelectionChanged事件中实现用户选择书籍时,我们使用WebRequest提交书籍编号,并且获得价格数据,仍然采用异步模式,提供RequestReady和ResponseReady两个回调函数:实现RequestReady方法,将书籍的编号写入请求流中。

实现ResponseReady方法,显示返回的结果。

最后运行的结果如下:用户选择一本书籍后,将显示其价格:结束语本文简单介绍了在Silverlight 2中如何使用WebRequest提交和获取数据,你可以从这里下载示例程序。

下一篇:一步一步学Silverlight 2系列(14):数据与通信之WCF作者:TerryLee出处:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Silverlight利用WebService进行增删改查目录1 新建空白解决方案SLWebServiceTestSln (1)2 新建Silverlight应用程序SL5 (1)3 建立数据模型 (2)4 Web项目配置 (4)5 数据转换建立WebService (5)6 在Silverlight应用程序项目中引用WebService (6)7 源码 (14)1新建空白解决方案SLWebServiceTestSln略2新建Silverlight应用程序SL53建立数据模型新建数据库TestDB,在库中新建表Students,表脚本如下:CREATE TABLE[dbo].[Students]([StuId][int]IDENTITY(1,1)NOT NULL, [StuName][varchar](50)NULL,[GradeId][int]NULL,[Age][int]NULL,[Sex][varchar](2)NULL)ON[PRIMARY]新建Silverlight类库项目DBModels删除自动生成的Class1.cs。

在SL5项目中引用DBModels。

新建类StuModels.cs在此文件中新建类Students,内容如下:namespace DBModels{public partial class Students{public int StuId { get; set; }public string StuName { get; set; }public string Sex { get; set; }public int GradeId { get; set; }public int Age { get; set; }}}4Web项目配置在站点SL5.Web中,建立App_Code目录,在目录中新建SQLHelper.cs,内容与网上通用的SQLHelper相同,此处不再赘述。

5数据转换建立WebService在SL5.Web项目中引用DBModels项目,然后创建WebService,名称为:StuService.asmx增加下面方法:public class StuService : System.Web.Services.WebService{[WebMethod]public List<BaseVars> GetListBaseVars(string sql){List<BaseVars> lr = new List<BaseVars>();using (DataSet ds = SqlHelper.ExecuteDataSet(sql)){if (ds == null || ds.Tables[0].Rows.Count < 0){return null;}lr = ListBaseDataSet.DataSetToListBaseVars(ds, 0);}return lr;}[WebMethod]public List<Students> GetList(string sql){List<Students> ls = new List<Students>();using (DataSet ds = SqlHelper.ExecuteDataSet(sql)){if (ds == null || ds.Tables[0].Rows.Count < 0){return null;}DataTable dt = ds.Tables[0];foreach (DataRow dr in dt.Rows){ls.Add(new Students() { StuId=Int32.Parse(dr["StuId"].ToString()), StuName = dr["StuName"].ToStr ing(), Sex = dr["Sex"].ToString(), Age = Int32.Parse(dr["Age"].ToString()) });}}return ls;}[WebMethod]public int UpdateStu(Students stu){string sql = "UPDATE Students SET stuName='" + stu.StuName + "',Age=" + stu.Age + " WHERE stuId=" + stu. StuId;int UpdatedRowsCount = SqlHelper.ExecuteNonQuery(sql);return UpdatedRowsCount;}[WebMethod]public void InsertStu(string stuName, string sex, int age){Students stu = new Students() { StuName = stuName, Sex = sex, Age = age };string sql = "INSERT INTO Students(stuName,Sex,Age) VALUES('" + stu.StuName + "','" + stu.Sex + "'," + s tu.Age + ") ";SqlHelper.ExecuteNonQuery(sql);}[WebMethod]public bool Del(int stuid){string sql = "DELETE Students WHERE stuid=" + stuid;int UpdatedRowsCount = SqlHelper.ExecuteNonQuery(sql);if (UpdatedRowsCount == 0){return false;}else{return true;}}}6在Silverlight应用程序项目中引用WebService1.首先添加对项目DBModels的引用,以便使用数据模型。

2.添加服务引用。

引用后设置集合类型:在MainPage.xaml前台代码:xmlns:d="/expression/blend/2008"xmlns:mc="/markup-compatibility/2006"mc:Ignorable="d"xmlns:sdk="/winfx/2006/xaml/presentation/sdk"><UserControl.Background><LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"><GradientStop Color="#FF1847EE"/><GradientStop Color="#FFFFFFFF" Offset="1"/><GradientStop Color="#FF7390F4" Offset="0.125"/></LinearGradientBrush></UserControl.Background><Canvas x:Name="LayoutRoot" Background="Silver" Height="647" Width="400"><StackPanel><TextBlock x:Name="info" OpacityMask="#FF181111" Foreground="#FF5A5959"/><sdk:DataGrid AutoGenerateColumns="False" Height="140" HorizontalAlignment="Left" Name="dataGrid1" Vert icalAlignment="Top" Width="355" CellEditEnding="dataGrid1_CellEditEnding" CellEditEnded="dataGrid1_CellEditEnded" Ca nvas.Left="0" ><sdk:DataGrid.Background><LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"><GradientStop Color="gray"/><GradientStop Color="#FFFFFFFF" Offset="1"/></LinearGradientBrush></sdk:DataGrid.Background><sdk:DataGrid.BorderBrush><LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"><GradientStop Color="#FFA3AEB9"/><GradientStop Color="#FF8399A9" Offset="0.375"/><GradientStop Color="#FF718597" Offset="0.571"/><GradientStop Color="#FF617584" Offset="1"/></LinearGradientBrush></sdk:DataGrid.BorderBrush><sdk:DataGrid.Columns><sdk:DataGridTemplateColumn Header="选择"><sdk:DataGridTemplateColumn.CellTemplate><DataTemplate><StackPanel Orientation="Horizontal"><CheckBox Name="ck" Tag="{Binding StuId,Mode=TwoWay}"></CheckBox></StackPanel></DataTemplate></sdk:DataGridTemplateColumn.CellTemplate></sdk:DataGridTemplateColumn><sdk:DataGridTextColumn Header="编号" Binding="{Binding StuId,Mode=TwoWay}"></sdk:DataGridTextColumn><sdk:DataGridTextColumn Header="姓名" Binding="{Binding StuName,Mode=TwoWay}"></sdk:DataGridTextColumn><sdk:DataGridTextColumn Header="年龄" Binding="{Binding Age,Mode=TwoWay}"></sdk:DataGridTextColumn><sdk:DataGridTemplateColumn Header="操作"><sdk:DataGridTemplateColumn.CellTemplate><DataTemplate><StackPanel Orientation="Horizontal"><Button x:Name="btnDel" Tag="{Binding StuId}" Content="删除" BorderBrush="#FFC1B5B5" Foreground="Black" Click="btnDel_Click" /></StackPanel></DataTemplate></sdk:DataGridTemplateColumn.CellTemplate></sdk:DataGridTemplateColumn></sdk:DataGrid.Columns></sdk:DataGrid><sdk:DataPager Height="26" HorizontalAlignment="Left" Name="dataPager1" PageSize="2" VerticalAlignment=" Top" Width="355" DisplayMode="FirstLastPreviousNextNumeric" Source="{Binding ItemsSource,ElementName=dataGrid1}" Can vas.Left="0" /></StackPanel><Rectangle Height="40" Width="368" Canvas.Left="10" Canvas.Top="190" RadiusX="8" RadiusY="8" Stroke="{x:Null }"><Rectangle.Fill><LinearGradientBrush EndPoint="0.507000029087067,-0.291999995708466" StartPoint="0.507000029087067,1 .83299994468689"><GradientStop Color="#FF2D2D2F" Offset="0.504"/><GradientStop Color="#FFC1BCBC" Offset="1"/><GradientStop Color="#FF999292" Offset="1"/></LinearGradientBrush></Rectangle.Fill></Rectangle><CheckBox Canvas.Left="35" Canvas.Top="198" Content="全选" Height="16" Name="CBAll" Click="CBAll_Click" /> <Button Canvas.Left="85" Canvas.Top="195" Content="删除" Height="23" Name="BtnDel" Width="50" Click="BtnDel_Click" /><Rectangle Height="97" Width="376" Canvas.Left="8" Canvas.Top="235" Stroke="{x:Null}" RadiusX="8" RadiusY="8 "><Rectangle.Fill><LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"><GradientStop Color="#FF2D2D2F" Offset="0.027"/><GradientStop Color="#FFC1BCBC" Offset="1"/><GradientStop Color="#FF999292" Offset="1"/></LinearGradientBrush></Rectangle.Fill></Rectangle><TextBlock x:Name="TextBlock" Canvas.Top="247" Canvas.Left="60" Text="姓名:" Foreground="#FFF7F6F6"/> <TextBox x:Name="txtname" Width="122" Canvas.Left="116" Canvas.Top="247" Background="#FFFBF6F6" /><TextBlock x:Name="TextBlock_Copy" Canvas.Left="60" Canvas.Top="280" Text="性别:" Foreground="#FFFBF9F9"/><ComboBox Canvas.Left="117" Canvas.Top="276" Height="23" Name="cbsex" Width="120"><ComboBoxItem Content="男" Tag="M" /><ComboBoxItem Content="女" Tag="F" /></ComboBox><TextBlock Canvas.Left="60" Canvas.Top="310" Height="15" Name="textBlock1" Text="年龄:" Foreground="White" />后台代码:using System;using System.Collections.Generic;using System.Linq;using ;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;using System.Windows.Data;namespace SL5{public partial class MainPage : UserControl{int originalNum;//记录初始时表中的数据总数StuService.StuServiceSoapClient client = new StuService.StuServiceSoapClient();public MainPage(){InitializeComponent();client = new StuService.StuServiceSoapClient();client.GetListCompleted += (s,e) => {List<StuService.Students> ls = e.Result;//dataGrid1.ItemsSource = ls;PagedCollectionView pcv = new PagedCollectionView(e.Result);dataGrid1.ItemsSource = pcv;originalNum = e.Result.Count;info.Text = "共有人员" + originalNum.ToString() + "条,具体如下:";};client.InsertStuCompleted += (s1, e1) =>{if (e1.Error == null){MessageBox.Show("添加成功!");//即时更新datagridbindDg();txtname.Text = "";cbsex.SelectedItem = 0;txtage.Text = "";}else{MessageBox.Show(e1.Error.ToString());//}};client.UpdateStuCompleted += (S, E) =>{if (E.Error == null){bindDg();}else{MessageBox.Show(E.Error.ToString());//}};client.DelCompleted += (S, E) =>{if (E.Error == null){MessageBox.Show("删除成功!");bindDg();}else{MessageBox.Show(E.Error.ToString());//}};bindDg();addButton.Click += (s, e) =>{if (txtname.Text.Trim() == ""){MessageBox.Show("请填写姓名");}else if (txtage.Text.Trim() == ""){MessageBox.Show("请填写年龄");}else{ComboBoxItem seled = cbsex.SelectedItem as ComboBoxItem;string sex = seled.Content.ToString();client.InsertStuAsync(txtname.Text.Trim(), sex, Int32.Parse(txtage.Text.Trim())); }};ReWriteButton.Click += (s, e) =>{txtname.Text = "";txtage.Text = "";cbsex.SelectedItem = 0;};}private void bindDg(){string sql = "SELECT * FROM Students";client.GetListAsync(sql);}//(sender as Button).Tag.ToString() 获取 Button Tag 值private void btnDel_Click(object sender, RoutedEventArgs e){client.DelAsync(Convert.ToInt32((sender as Button).Tag.ToString()));}#region自定义列的表格操作private void dataGrid1_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e){dataGrid1.BeginEdit();}private void dataGrid1_CellEditEnded(object sender, DataGridCellEditEndedEventArgs e){StuService.Students stu = dataGrid1.SelectedItem as StuService.Students;client.UpdateStuAsync(stu);}private void CBAll_Click(object sender, RoutedEventArgs e){if (dataGrid1.ItemsSource != null){if (this.CBAll.IsChecked.Value)//全选{foreach (object ovj in dataGrid1.ItemsSource){CheckBox cb1 = dataGrid1.Columns[0].GetCellContent(ovj).FindName("ck") as CheckBox; //cb 为cb1.IsChecked = true;}}else//全取消{foreach (object obj in dataGrid1.ItemsSource){CheckBox cb2 = dataGrid1.Columns[0].GetCellContent(obj).FindName("ck") as CheckBox;cb2.IsChecked = false;}}}}private void BtnDel_Click(object sender, RoutedEventArgs e){foreach (object obj in dataGrid1.ItemsSource){CheckBox cb2 = dataGrid1.Columns[0].GetCellContent(obj).FindName("ck") as CheckBox;if (Convert.ToBoolean(cb2.IsChecked)){client.DelAsync(Convert.ToInt32(cb2.Tag.ToString()));}}}#endregion}public partial class Students{private int stuid;public int StuId{get { return stuid; }set { stuid = value; }}private string stuName;public string StuName{get { return stuName; }set { stuName = value; }}private string sex;public string Sex{get { return sex; }set { sex = value; }}private int gradeId;public int GradeId{get { return gradeId; }set { gradeId = value; }运行效果:7源码SLWebServiceTestSln.rar。

相关文档
最新文档