实习导师要求做一个项目,用Winform调用WebServices实现增删改查的功能。写下这篇博客,当做是这个项目的总结。如果您有什么建议,可以给我留言。欢迎指正。
1、首先,我接到这个项目的时候,根本不清楚什么是WebServices,所以第一步,我要搞清楚什么是WebServices。现在有个模糊的概念,比如,中国天气网想把每天的天气状况给用户查询,它当然不可能让用户直接访问它的数据库。所以,中国天气网就把查询天气之类的方法写进WebServices中,让用户去WebServices调用这些接口,从而达到查询天气的目的。
2、紧接着,由于我们是发布一个WebServices来让其他人调用。所以我们要在本机上配置IIS服务器。具体步骤如下:
1-->打开计算机,找到卸载或更改程序
2-->找到启用或关闭Windows功能
3-->把下面这三个东西全部点上(我也不知道怎么点,我把所有的都点上了)
4-->点击确定,此时我们的IIS应该就已经配置完毕了。
5-->现在我们去服务中找到IIS服务。看到此选项,应该可以说明,我们的IIS配置完毕了。
3、IIS配置完毕之后,此时,我们便可以在VS中编写Web程序。
1-->新建一个空的Web应用程序
2-->这个时候我们就会看到有一个ceshiWebServices的项目,右击添加新项,选择Web服务,名称可以随意。
3-->此时我们可以看到一个默认的Hello World方法
4-->下面我们来将此Web服务发布,步骤如下:(1)首先右击项目,点击发布。(2)接着按照图片的步骤来
此时,我们的Web服务应该已经发布完毕。
5-->下面,我们去IIS服务器中,浏览看一下。
6-->此时要注意的是,我们需要启用目录浏览
7-->找到右面板,点击浏览。如果没有问题,将会出现以下界面。(有时候会报出一些莫名奇妙的错误,如403,404,409之类的,遇到此类问题,百度一下)
8-->目前为止,我们发布WebServices就成功了。
4、下面我们就用Winform程序来调用此WebServices,因为我的目的是利用调用此WebServices实现增删改查功能,所以接下来就直接上代码。
1-->WebServices增删改查功能代码实现(仅 1 public class Infos : System.Web.Services.WebService
2 { 3
4 [WebMethod] 5 public string HelloWorld() 6 { 7 return "Hello World"; 8 } 9
10 [WebMethod] 11 public DataSet select(int userid,string username) 12 { 13 try
14 { 15 DataSet ds = new DataSet(); 16 string constr = "Data source=.;Initial Catalog=DB_UserSystem;User ID=sa;Password=123456"; 17 using (SqlConnection con = new SqlConnection(constr)) 18 { 19 if (con.State == ConnectionState.Closed) 20 { 21 con.Open(); 22 } 23 string sql = "select * from TB_UserInfo where userid='" + userid + "' or username='" + username + "'"; 24 SqlDataAdapter da = new SqlDataAdapter(sql, con); 25 da.Fill(ds); 26 con.Close(); 27 } 28 return ds; 29 } 30 catch (Exception ex) 31 { 32 return new DataSet(); 33 } 34
35 } 36
47 [WebMethod] 48
49 public bool add(string UserID, string UserName, string UserSex, string UserAge, string UserPassword, string UserType) 50 { 51 string constr = "Data source=.;Initial Catalog=DB_UserSystem;User ID=sa;Password=123456"; 52 using (SqlConnection con = new SqlConnection(constr)) 53 { 54 string sql = "insert into TB_UserInfo values ('"+UserID+"','"+UserName+"','"+UserSex+"','"+UserAge+"','"+UserPassword+"','"+UserType+"')"; 55 using (SqlCommand cmd = new SqlCommand(sql, con)) 56 { 57 try
58 { 59 con.Open(); 60 cmd.ExecuteNonQuery(); 61 con.Close(); 62 return true; 63 } 64 catch (Exception ex) 65 { 66 return false; 67 } 68 } 69 } 70 } 71
72 [WebMethod] 73
74 public bool delete(string UserID,ref string errormessage) 75 { 76 string constr = "Data Source=.;Initial Catalog=DB_UserSystem;User ID=sa;Password=123456"; 77 using (SqlConnection con = new SqlConnection(constr)) 78 { 79 string sql ="delete from TB_UserInfos where UserID='"+UserID+"'"; 80 using (SqlCommand cmd = new SqlCommand(sql, con)) 81 { 82 try
83 { 84 con.Open(); 85 cmd.ExecuteNonQuery(); 86 con.Close(); 87 return true; 88 } 89 catch (Exception ex) 90 { 91 errormessage=ex.Message.ToString(); 92 return false; 93 } 94
95 } 96 } 97 } 98
99 [WebMethod] 10