1.首先要连接数据库,自然要有数据库啦,创建一个数据库表Login,并插入一个数据:

  1. --创建数据库表login
  2. CREATE TABLE Login
  3. (
  4. UName VARCHAR(20) PRIMARY KEY NOT NULL,
  5. UPassword VARCHAR(30) NOT NULL,
  6. UState INT DEFAULT'0' NOT NULL
  7. )
  8.  
  9. --查询Login
  10. SELECT * FROM Login
  11.  
  12. SELECT UName,UPassword FROM Login
  13.  
  14. --插入数据
  15. INSERT INTO Login(UName,UPassword) VALUES('张三','123456')

2.下面就是WCF服务的创建了,直接创建一个WCF服务应用程序,项目名称为“ODataBase”,如下图:

3.创建服务契约和创建服务:

(1)IDataBase.cs (创建服务契约):

  1. using System.Data;
  2. using System.ServiceModel;
  3.  
  4. namespace ODataBase
  5. {
  6. [ServiceContract]
  7. public interface IService1
  8. {
  9. //新增数据
  10. [OperationContract]
  11. int InsertLogin(string strName,string strPwd);
  12. //删除数据
  13. [OperationContract]
  14. int DeleteLogin(string strName);
  15. //修改数据
  16. [OperationContract]
  17. int UpdataLogin(string strName, string strPwd);
  18. //查询数据
  19. [OperationContract]
  20. DataSet SelectLogin();
  21. }
  22. }

(2)DataBase.svc (创建服务)

  1. using System.ServiceModel;
  2. using System.Data;
  3. using System.Data.SqlClient;
  4. using System;
  5. namespace ODataBase
  6. {
  7. public class DataBase : IService1
  8. {
  9. //连接数据库
  10. SqlConnection strCon = new SqlConnection(@"server=IT01\SQLEXPRESS;uid=sa;pwd=yc12369;database=yctest");
  11.  
  12. //添加数据
  13. public int InsertLogin(string strName,string strPwd)
  14. {
  15. try
  16. {
  17. strCon.Open();
  18. string strSql = "INSERT INTO Login(UName,UPassword) VALUES(@strName,@strPwd)";
  19. SqlCommand cmd = new SqlCommand(strSql,strCon);
  20. SqlParameter parn = new SqlParameter("@strName",strName);
  21. cmd.Parameters.Add(parn);
  22. SqlParameter parp = new SqlParameter("@strPwd",strPwd);
  23. cmd.Parameters.Add(parp);
  24. //result接受受影响的行数,也就是说大于0的话表示添加成功
  25. int result = cmd.ExecuteNonQuery();
  26. cmd.Dispose();
  27. return result;
  28. }catch(Exception ex)
  29. {
  30. throw ex;
  31. }finally
  32. {
  33. strCon.Close();
  34. }
  35. }
  36.  
  37. //删除数据
  38. public int DeleteLogin(string strName)
  39. {
  40. try
  41. {
  42. strCon.Open();
  43. string strSql = "DELETE FROM Login WHERE UName = @strName";
  44. SqlCommand cmd = new SqlCommand(strSql,strCon);
  45. SqlParameter parn = new SqlParameter("@strName",strName);
  46. cmd.Parameters.Add(parn);
  47. int result = cmd.ExecuteNonQuery();
  48. cmd.Dispose();
  49. return result;
  50. }catch(Exception ex)
  51. {
  52. throw ex;
  53. }finally
  54. {
  55. strCon.Close();
  56. }
  57. }
  58.  
  59. //修改数据
  60. public int UpdataLogin(string strName,string strPwd)
  61. {
  62. try
  63. {
  64. strCon.Open();
  65. string strSql = "UPDATE Login SET UPassWord=@strPwd WHERE UName =@strName";
  66. SqlCommand cmd = new SqlCommand(strSql,strCon);
  67. SqlParameter parn = new SqlParameter("@strName",strName);
  68. cmd.Parameters.Add(parn);
  69. SqlParameter parp = new SqlParameter("@strPwd",strPwd);
  70. cmd.Parameters.Add(parp);
  71. int result = cmd.ExecuteNonQuery();
  72. cmd.Dispose();
  73. return result;
  74. }catch(Exception ex)
  75. {
  76. throw ex;
  77. }finally
  78. {
  79. strCon.Close();
  80. }
  81. }
  82. //查询数据
  83. public DataSet SelectLogin()
  84. {
  85. try
  86. {
  87. strCon.Open();
  88. string strSql = "SELECT UName,UPassword FROM Login ";
  89. DataSet ds = new DataSet();
  90. SqlDataAdapter s = new SqlDataAdapter(strSql, strCon);
  91. s.Fill(ds);
  92. return ds;
  93. }catch(Exception ex)
  94. {
  95. throw ex;
  96. }finally
  97. {
  98. strCon.Close();
  99. }
  100. }
  101.  
  102. }
  103. }

4.然后新建一个名为Web4DataBase的Web客户端(用于测试),先引用创建的WCF服务,具体过程见WCF初见之HelloWorld,然后进行Web端的代码编写:

(1)Test4DataBase.aspx(Web界面代码)

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test4DataBase.aspx.cs" Inherits="Web4DataBase.Test4DataBase" %>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head runat="server">
  7. <title>SQL数据库操作测试</title>
  8. </head>
  9. <body>
  10. <form id="DataBaseFrom" runat="server">
  11. <h2>SQL数据库操作测试</h2>
  12. <br />
  13. 用户名:<asp:TextBox ID="txbName" runat="server"></asp:TextBox>
  14. <br /><br />
  15. 密 码:<asp:TextBox ID="txbPwd" runat="server"
  16. TextMode="Password"></asp:TextBox>
  17. <br /><br />
  18. <asp:Button ID="btn_InsertLogin" runat="server" Text="新增数据"
  19. onclick="btn_InsertLogin_Click"/>
  20. <asp:Button ID="btn_DeleteLogin" runat="server" Text="删除数据"
  21. onclick="btn_DeleteLogin_Click"/>
  22. <asp:Button ID="btn_UpdataLogin" runat="server" Text="更新数据"
  23. onclick="btn_UpdataLogin_Click"/>
  24. <asp:Button ID="btn_ResetLogin" runat="server" Text="重置数据"
  25. onclick="btn_ResetLogin_Click"/>
  26. <br /><br />
  27. <asp:GridView ID="gvLogin" runat="server" AutoGenerateColumns="False">
  28. <Columns>
  29. <asp:BoundField DataField="UName" HeaderText="用户名" />
  30. <asp:BoundField DataField="UPassword" HeaderText="密码" />
  31. </Columns>
  32. </asp:GridView>
  33. </form>
  34. </body>
  35. </html>

(2)Test4DataBase.aspx.cs(功能实现代码)

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7.  
  8. namespace Web4DataBase
  9. {
  10. public partial class Test4DataBase : System.Web.UI.Page
  11. {
  12. service.Service1Client host = new service.Service1Client();
  13. protected void Page_Load(object sender, EventArgs e)
  14. {
  15. if (!IsPostBack) { BindData(); };
  16. }
  17.  
  18. //绑定数据源
  19. private void BindData()
  20. {
  21. gvLogin.DataSource = host.SelectLogin();
  22. gvLogin.DataBind();
  23. }
  24.  
  25. //新增数据
  26. protected void btn_InsertLogin_Click(object sender, EventArgs e)
  27. {
  28. string strName = txbName.Text.Trim();
  29. string strPwd = txbPwd.Text.Trim();
  30. host.InsertLogin(strName,strPwd);
  31. BindData();
  32. }
  33.  
  34. //删除数据
  35. protected void btn_DeleteLogin_Click(object sender, EventArgs e)
  36. {
  37. string strName = txbName.Text.Trim();
  38. host.DeleteLogin(strName);
  39. BindData();
  40. }
  41.  
  42. //更新数据
  43. protected void btn_UpdataLogin_Click(object sender, EventArgs e)
  44. {
  45. string strName = txbName.Text.Trim();
  46. string strPwd = txbPwd.Text.Trim();
  47. host.UpdataLogin(strName, strPwd);
  48. BindData();
  49. }
  50.  
  51. // 重置数据
  52. protected void btn_ResetLogin_Click(object sender, EventArgs e)
  53. {
  54. txbName.Text = "";
  55. txbPwd.Text = "";
  56. }
  57.  
  58. }
  59. }

5.效果图如下:

WCF初见之SQL数据库的增删改查的更多相关文章

  1. Android SQL语句实现数据库的增删改查

    本文介绍android中的数据库的增删改查 复习sql语法: * 增 insert into info (name,phone) values ('wuyudong','111') * 删 delet ...

  2. Android 系统API实现数据库的增删改查和SQLite3工具的使用

    在<Android SQL语句实现数据库的增删改查>中介绍了使用sql语句来实现数据库的增删改查操作,本文介绍Android 系统API实现数据库的增删改查和SQLite3工具的使用. 系 ...

  3. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  4. 【转载】通过JDBC对MySQL数据库的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  5. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. Android下利用SQLite数据库实现增删改查

    1: 首先介绍如何利用adb查看数据库 1: adb shell 2: cd /data/data/包名/databases 3:  sqlite3 数据库 4   接下来就可以进行数据库的sql语法 ...

  7. PHP程序中使用PDO对象实现对数据库的增删改查操作的示例代码

    PHP程序中使用PDO对象实现对数据库的增删改查操作(PHP+smarty) dbconn.php <?php //------------------------使用PDO方式连接数据库文件- ...

  8. 使用java对sql server进行增删改查

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  9. 开源工具DbUtils的使用(数据库的增删改查)

    开源工具DbUtils的使用(数据库的增删改查) 一.DbUtils简介: DBUtils是apache下的一个小巧的JDBC轻量级封装的工具包,其最核心的特性是结果集的封装,可以直接将查询出来的结果 ...

随机推荐

  1. InstallShield安装包在Win7下权限问题的解决方案 (转载)

    转载:http://blog.csdn.net/wuzhengqing1/article/details/6570149 转载:http://blog.csdn.net/brikoff/article ...

  2. fastjson常用方法

    fastjson是一款alibaba公司开发的json工具包.json经常被使用在数据传输方面,因此特意对它的一些常用方法做备注,欢迎看客在评论区补充或指出问题. 首先定义一个实体类,用于我们进行对象 ...

  3. Oracle错误——ORA-12704:字符集不匹配

    错误 在查询使用coalesce把字符串进行转换时,报错ORA-12704:字符集不匹配 如下图 解决方法 在网上找了很多方法,有使用Translate转换的:有使用to_char()的,经过测试不符 ...

  4. linux内核中宏container_of是干什么的?

    Linux Kernel Version 4.14 1. container_of是干什么的? 已知一个结构体中某个成员的首指针,那么就可以通过宏container_of来获得此结构体的首指针 2 先 ...

  5. HDU 4632 Palindrome subsequence & FJUT3681 回文子序列种类数(回文子序列个数/回文子序列种数 容斥 + 区间DP)题解

    题意1:问你一个串有几个不连续子序列(相同字母不同位置视为两个) 题意2:问你一个串有几种不连续子序列(相同字母不同位置视为一个,空串视为一个子序列) 思路1:由容斥可知当两个边界字母相同时 dp[i ...

  6. Why there is two completely different version of Reverse for List and IEnumerable?

    https://stackoverflow.com/questions/12390971/why-there-is-two-completely-different-version-of-revers ...

  7. Asp.Net 之 DropDownList的使用

    这里不细说,直接上案例 <td style="width: 30px;" align="right"> 年月: </td> <td ...

  8. linux 进阶命令笔记(12月26日)

    1. df 指令 作用:查看磁盘空间 用法: #df -h       -h 表示以可读性较高的形式展示大小   2.free 指令 作用:查看内存使用情况 语法:#free -m       -m表 ...

  9. python接口测试模版

    """Test case implementation""" import sys import functools import diff ...

  10. 点击返回上一页 wx.navigateTo不管用了

    做跳转的时候,发现想返回上一页,但是这个上一页又是tab上的页面,返回不了怎么办呢 wx.navigateTo({ url: '../search/search', })   解决方法: wx.reL ...