WCF初见之SQL数据库的增删改查
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数据库的增删改查的更多相关文章
- Android SQL语句实现数据库的增删改查
本文介绍android中的数据库的增删改查 复习sql语法: * 增 insert into info (name,phone) values ('wuyudong','111') * 删 delet ...
- Android 系统API实现数据库的增删改查和SQLite3工具的使用
在<Android SQL语句实现数据库的增删改查>中介绍了使用sql语句来实现数据库的增删改查操作,本文介绍Android 系统API实现数据库的增删改查和SQLite3工具的使用. 系 ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- 【转载】通过JDBC对MySQL数据库的增删改查
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Android下利用SQLite数据库实现增删改查
1: 首先介绍如何利用adb查看数据库 1: adb shell 2: cd /data/data/包名/databases 3: sqlite3 数据库 4 接下来就可以进行数据库的sql语法 ...
- PHP程序中使用PDO对象实现对数据库的增删改查操作的示例代码
PHP程序中使用PDO对象实现对数据库的增删改查操作(PHP+smarty) dbconn.php <?php //------------------------使用PDO方式连接数据库文件- ...
- 使用java对sql server进行增删改查
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...
- 开源工具DbUtils的使用(数据库的增删改查)
开源工具DbUtils的使用(数据库的增删改查) 一.DbUtils简介: DBUtils是apache下的一个小巧的JDBC轻量级封装的工具包,其最核心的特性是结果集的封装,可以直接将查询出来的结果 ...
随机推荐
- Codeforces 789D Weird journey - 欧拉路 - 图论
Little boy Igor wants to become a traveller. At first, he decided to visit all the cities of his mot ...
- [内核驱动] VS2012+WDK 8.0 Minifilter实现指定扩展名文件拒绝访问
转载:http://blog.csdn.net/C0ldstudy/article/details/51585708 转载:http://blog.csdn.net/zj510/article/det ...
- Selenium Webdriver wait for JavaScript JQuery and Angular
Hi all, during the last two weeks I was dealing with the best solution to wait for both JQuery, Angu ...
- 转载:Systemd 服务配置文件
目录 一.开机启动 二.启动服务 三.停止服务 四.读懂配置文件 五. [Unit] 区块:启动顺序与依赖关系. 六.[Service] 区块:启动行为 6.1 启动命令 6.2 启动类型 6.3 重 ...
- 简单的栈溢出demo
Code package startnow; /** * @auther draymonder */ public class StackOverFlowTest { public static vo ...
- 【Mybatis】-- Mapper动态代理开发注意事项
1.1. Mapper动态代理方式 1.1.1. 开发规范 Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对 ...
- Mac环境下扩容 .vmdk 镜像容量
参考: Resizing a VirtualBox Disk Image (.vmdk) on a Mac Mac环境下扩容 .vmdk 镜像容量 在安装虚拟机时,原有的vmdk镜像容量只有20G,在 ...
- SpringBoot学习(二)
spring-boot-starter-parent Maven的用户可以通过继承spring-boot-starter-parent项目来获得一些合理的默认配置.这个parent提供了以下特性: 默 ...
- List<Model>转String 、String 转List<string>
var ltCode = from item in psw.VehicleInsuranceItem select item.Code; string code = string.Join(" ...
- 项目Alpha冲刺--2/10
项目Alpha冲刺--2/10 1.团队信息 团队名称:基于云的胜利冲锋队 成员信息 队员学号 队员姓名 个人博客地址 备注 221500201 孙文慈 https://www.cnblogs.com ...