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轻量级封装的工具包,其最核心的特性是结果集的封装,可以直接将查询出来的结果 ...
随机推荐
- 谷歌zxing 二维码生成工具
一.加入maven依赖 <!-- 谷歌zxing 二维码 --> <dependency> <groupId>com.google.zxing</groupI ...
- 写了个脚本将json换成md
用python 脚本将protocol.json中的json按照templete.md模版生成,结果在protocol.md中 Python: #!/usr/bin/python # -*- codi ...
- MongoDB的C#驱动报错Server instance 127.0.0.1:27017 is no longer connected的解决方案
使用C#的MondoDB驱动,一直没问题.结果最近,MongoCursor的ToList方法,取列表,总是报错 Server instance 127.0.0.1:27017 is no longer ...
- 终于明白vim 和 grep 中 的正则表达式的用法, vim 正则表达式 和grep基本正则表达式 几乎一样
要搞清楚 vim中的正则和普通的Perl正则表达式的区别: 因为在perl中所有的元字符 都可以直接使用, 不需要在 元字符的前面加 反斜杠. 但是在vim, 包括grep中就有所区别, 同样是元字符 ...
- 三星固态硬盘ssd产品线收集
目录 三星ssd按时间展示: 三星ssd后缀带a与不带a的区别,举其中一例: 下面是从三星中国的官网截图的产品线: 产品线列表: 总结: 参考: 最近在淘宝看到了很多拆机ssd,三星作为世界上唯一一家 ...
- Git 配置命令设置
目录 查看配置文件路径: 查看其他配置命令: 修改配置文件默认路径: 查看配置文件路径: 查看系统级别配置: git config -e –-system D:/Program Files/Git/m ...
- Linux/shell: remove adjacent similar patterns
cat > temp004AA1abcAA2AA3abcAA4abcAA5AA6 awk 'BEGIN {pre=0; str="";} { if(NR==1){ i ...
- 集合00_Java集合框架
集合类概述 1.继承树 2.集合和数组 区别如下: 数组可以存储基本数据类型,也可以存储引用类型:而集合只能存储引用类型(比如存储int,它会自动装箱成Integer) 数组长度固定,集合长度可变 3 ...
- Linux(CentOS)上面搭建Nginx环境
总体上来说,Linux 这个系统其实挺好用的 除了看不见界面,但是用起来确实是比Window好用太多了,不废话了,直接说搭建环境的步骤! 安装Nginx 编译运行时的环境 参考博客:http://ww ...
- c# 重试机制
protected async Task<T> TryOperation<T>(int maxRetryCount,Func<Task<T>> func ...