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轻量级封装的工具包,其最核心的特性是结果集的封装,可以直接将查询出来的结果 ...
随机推荐
- django基础 -- 6. 多表操作
一.多表的创建 from django.db import models # Create your models here. class Author(models.Model): id = mod ...
- log4j的基本使用方法
本文转载自http://www.codeceo.com/article/log4j-usage.html 一.基本用法 1.log4j需要jar包log4j-1.2.14.jar,链接: http:/ ...
- topcoder srm 500 div1
problem1 link 如果decisions的大小为0,那么每一轮都是$N$个人.答案为0. 否则,如果答案不为0,那么概率最大的一定是一开始票数最多的人.因为这个人每一轮都在可以留下来的人群中 ...
- Restful framework【第八篇】频率组件
基本使用 频率: -限制每个ip地址一分钟访问10次 -写一个类 from rest_framework.throttling import SimpleRateThrottle class Visi ...
- P1552 [APIO2012]派遣
链接 https://www.luogu.org/problemnew/show/P1552 思路 忍者数量肯定越多越好 那就从下到上的合并它的孩子 左偏树的话 顺便维护一个tot,大头堆,如果tot ...
- Mysql的唯一性索引unique
目录 唯一性索引unique影响: unique与primary key的区别: 存在唯一键冲突时,避免策略: insert ignore: replace into: insert on dupli ...
- 二进制枚举例题|poj1222,poj3279,poj1753
poj1222,poj3279,poj1753 听说还有 POJ1681-画家问题 POJ1166-拨钟问题 POJ1054-讨厌的青蛙
- HIHOcoder 1441 后缀自动机一·基本概念
思路 SAM的概念题 暴力模拟就好了 代码 #include <cstdio> #include <cstring> #include <algorithm> #i ...
- Learning to Compare Image Patches via Convolutional Neural Networks --- Reading Summary
Learning to Compare Image Patches via Convolutional Neural Networks --- Reading Summary 2017.03.08 ...
- 3、使用keepalived高可用LVS实例演示
回顾: keepalived: vrrp协议的实现: 虚拟路由器: MASTER,BACKUP VI:Virtual Instance keepalived.conf GLOBAL VRRP LVS ...