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

--创建数据库表login
CREATE TABLE Login
(
UName VARCHAR(20) PRIMARY KEY NOT NULL,
UPassword VARCHAR(30) NOT NULL,
UState INT DEFAULT'0' NOT NULL
) --查询Login表
SELECT * FROM Login SELECT UName,UPassword FROM Login --插入数据
INSERT INTO Login(UName,UPassword) VALUES('张三','123456')

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

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

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

using System.Data;
using System.ServiceModel; namespace ODataBase
{
[ServiceContract]
public interface IService1
{
//新增数据
[OperationContract]
int InsertLogin(string strName,string strPwd);
//删除数据
[OperationContract]
int DeleteLogin(string strName);
//修改数据
[OperationContract]
int UpdataLogin(string strName, string strPwd);
//查询数据
[OperationContract]
DataSet SelectLogin();
}
}

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

using System.ServiceModel;
using System.Data;
using System.Data.SqlClient;
using System;
namespace ODataBase
{
public class DataBase : IService1
{
//连接数据库
SqlConnection strCon = new SqlConnection(@"server=IT01\SQLEXPRESS;uid=sa;pwd=yc12369;database=yctest"); //添加数据
public int InsertLogin(string strName,string strPwd)
{
try
{
strCon.Open();
string strSql = "INSERT INTO Login(UName,UPassword) VALUES(@strName,@strPwd)";
SqlCommand cmd = new SqlCommand(strSql,strCon);
SqlParameter parn = new SqlParameter("@strName",strName);
cmd.Parameters.Add(parn);
SqlParameter parp = new SqlParameter("@strPwd",strPwd);
cmd.Parameters.Add(parp);
//result接受受影响的行数,也就是说大于0的话表示添加成功
int result = cmd.ExecuteNonQuery();
cmd.Dispose();
return result;
}catch(Exception ex)
{
throw ex;
}finally
{
strCon.Close();
}
} //删除数据
public int DeleteLogin(string strName)
{
try
{
strCon.Open();
string strSql = "DELETE FROM Login WHERE UName = @strName";
SqlCommand cmd = new SqlCommand(strSql,strCon);
SqlParameter parn = new SqlParameter("@strName",strName);
cmd.Parameters.Add(parn);
int result = cmd.ExecuteNonQuery();
cmd.Dispose();
return result;
}catch(Exception ex)
{
throw ex;
}finally
{
strCon.Close();
}
} //修改数据
public int UpdataLogin(string strName,string strPwd)
{
try
{
strCon.Open();
string strSql = "UPDATE Login SET UPassWord=@strPwd WHERE UName =@strName";
SqlCommand cmd = new SqlCommand(strSql,strCon);
SqlParameter parn = new SqlParameter("@strName",strName);
cmd.Parameters.Add(parn);
SqlParameter parp = new SqlParameter("@strPwd",strPwd);
cmd.Parameters.Add(parp);
int result = cmd.ExecuteNonQuery();
cmd.Dispose();
return result;
}catch(Exception ex)
{
throw ex;
}finally
{
strCon.Close();
}
}
//查询数据
public DataSet SelectLogin()
{
try
{
strCon.Open();
string strSql = "SELECT UName,UPassword FROM Login ";
DataSet ds = new DataSet();
SqlDataAdapter s = new SqlDataAdapter(strSql, strCon);
s.Fill(ds);
return ds;
}catch(Exception ex)
{
throw ex;
}finally
{
strCon.Close();
}
} }
}

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

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

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test4DataBase.aspx.cs" Inherits="Web4DataBase.Test4DataBase" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>SQL数据库操作测试</title>
</head>
<body>
<form id="DataBaseFrom" runat="server">
<h2>SQL数据库操作测试</h2>
<br />
用户名:<asp:TextBox ID="txbName" runat="server"></asp:TextBox>
<br /><br />
密 码:<asp:TextBox ID="txbPwd" runat="server"
TextMode="Password"></asp:TextBox>
<br /><br />
<asp:Button ID="btn_InsertLogin" runat="server" Text="新增数据"
onclick="btn_InsertLogin_Click"/>
<asp:Button ID="btn_DeleteLogin" runat="server" Text="删除数据"
onclick="btn_DeleteLogin_Click"/>
<asp:Button ID="btn_UpdataLogin" runat="server" Text="更新数据"
onclick="btn_UpdataLogin_Click"/>
<asp:Button ID="btn_ResetLogin" runat="server" Text="重置数据"
onclick="btn_ResetLogin_Click"/>
<br /><br />
<asp:GridView ID="gvLogin" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="UName" HeaderText="用户名" />
<asp:BoundField DataField="UPassword" HeaderText="密码" />
</Columns>
</asp:GridView>
</form>
</body>
</html>

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace Web4DataBase
{
public partial class Test4DataBase : System.Web.UI.Page
{
service.Service1Client host = new service.Service1Client();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) { BindData(); };
} //绑定数据源
private void BindData()
{
gvLogin.DataSource = host.SelectLogin();
gvLogin.DataBind();
} //新增数据
protected void btn_InsertLogin_Click(object sender, EventArgs e)
{
string strName = txbName.Text.Trim();
string strPwd = txbPwd.Text.Trim();
host.InsertLogin(strName,strPwd);
BindData();
} //删除数据
protected void btn_DeleteLogin_Click(object sender, EventArgs e)
{
string strName = txbName.Text.Trim();
host.DeleteLogin(strName);
BindData();
} //更新数据
protected void btn_UpdataLogin_Click(object sender, EventArgs e)
{
string strName = txbName.Text.Trim();
string strPwd = txbPwd.Text.Trim();
host.UpdataLogin(strName, strPwd);
BindData();
} // 重置数据
protected void btn_ResetLogin_Click(object sender, EventArgs e)
{
txbName.Text = "";
txbPwd.Text = "";
} }
}

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. 【Python029--一个任务】

    一.文件编写 任务:将文件(record.txt)中的数据进行分割,并按照以下规律保存起来: --小甲鱼的对话单独保存为boy_*.txt的文件(去掉“小甲鱼:”) --小客服的对话单独保存为girl ...

  2. CocoaPods创建自己的公开库、私有库

    http://www.cocoachina.com/ios/20180308/22509.html

  3. Vim 插键及配置

    如果你觉得这个页面广告太多,欢迎移步博客阅读:Vim 插键及配置 编辑器之神 -- Vim 平日使用vim经常编辑文件,想想使用时的痛点,决定研究一下插件的使用. Vim的扩展通常也被成为bundle ...

  4. SDOI2017相关分析 线段树

    题目 https://loj.ac/problem/2005 思路 \[ \sum_{L}^{R}{(x_i-x)^{2}} \] \[ \sum_{L}^{R}{(x_i^2-2*x_i*x+x^{ ...

  5. 题解——loj6281 数列分块入门5 (分块)

    分块 若块内最大值为0或1,则不用再开方 然后暴力修改 可以证明,如果开方后向下取整,则最多开方4次一个数就会变成0或1 #include <cstdio> #include <cm ...

  6. 题解——洛谷P3275 [SCOI2011]糖果

    一道条件非常多的差分约束 把\( a < b \)转化为\( a-b \le -1\)就可做了 \( a>b \)的情况同理 若有负环则无解输出-1 注意本题中要求每个人都有糖果 所以假设 ...

  7. 论文笔记:Parallel Tracking and Verifying: A Framework for Real-Time and High Accuracy Visual Tracking

    Parallel Tracking and Verifying: A Framework for Real-Time and High Accuracy Visual Tracking  本文目标在于 ...

  8. Javascript 高级程序设计(第3版) - 第01章

    2017-05-10 js简介 一个叫“不难登”的人发明的.js的流行是因为 ajax 的关系. js分为三个部分: 核心: ECMAScript 文档对象模型: DOM 浏览器对象模型: BOM 核 ...

  9. commons-beanutils使用介绍

    commons-beanutils是Apache开源组织提供的用于操作JAVA BEAN的工具包.使用commons-beanutils,我们可以很方便的对bean对象的属性进行操作.今天为大家介绍一 ...

  10. 【一】jquery之subline编辑器插件安装

    1.地址下载:https://pan.baidu.com/share/link?shareid=552312&uk=151954025 2.打开Sublime, 选择 Prefreences  ...