WCF初见之SQL数据库的增删改查-阿里云开发者社区

开发者社区> 嗯哼9925> 正文

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.效果图如下:






本文转自叶超Luka博客园博客,原文链接:http://www.cnblogs.com/yc-755909659/archive/2012/07/10/2584703.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10099 0
sqlite3增删查改应用
创建一个数据库(包括int 类型的id,string 类型的name),并对其进行增删改查 实现步骤: 1.创建一个SingleViewApplication应用。
884 0
Android中访问通讯录,数据的增删改查
1.权限 &lt;uses-permission android:name="android.permission.READ_CONTACTS" /&gt; &lt;uses-permission android:name="android.permission.WRITE_CONTACTS" /&gt; 2.通过提供的内容供应商访问通信录(uri) content://com
1133 0
asp.net core webapi 使用ef 对mysql进行增删改查,并生成Docker镜像构建容器运行
1.构建运行mysql容器,添加数据库user 参考Docker创建运行多个mysql容器,地址 http://www.cnblogs.com/heyangyi/p/9288402.html 添加user数据库,添加tbusers表 2.
2486 0
MySQL---数据库从入门走向大神系列(二)-用Java对MySQL进行增删改查
上节已经学会对MySQL进行简单的增删改查了,那么,我们如何实现用Java来对数据库操作增删改呢。 本节将用Java演示对MySQL进行增删改查。 简单的来说,分为4个步骤: 1、加载连接器(驱动)   通过Driver类 (最好用类反射来加载,更加灵活) 2、建立与数据库的连接 3、获取语句对象 4、对数据库进行操作(增删改查) 其实第一步现在可以不用写了,高版本的MySQL已经在内部帮我们写好了第一步,但是,为了兼容性更好(兼容低版本的MySQL)我们最好还是写上第一步。
1227 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10888 0
sql基础 (表结构的增删改查)
1.创建 create table 表名( 列名1 数据类型 约束条件, 列名2 数据类型 约束条件, 列名3 数据类型 约束条件, ... 列名n 数据类型 约束条件, primary key (); foreign key () references 其他表表名() ); 2.修改 /*增加列*/ alter table antibotepl add `del` b
1026 0
PHP:mysqli对数据库进行CURD增删改查
PHP:mysqli对数据库进行CURD增删改查
19 0
+关注
4716
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载