WCF初见之SQL数据库的连接和查询

简介:

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

复制代码
----使用数据库test
USE test

----创建一个表TEST1
CREATE TABLE TEST1
(
TNAME CHAR(20) PRIMARY KEY NOT NULL,
TINTRO VARCHAR(200) NOT NULL
)

----向表TEST1内插入数据
INSERT INTO TEST1(TNAME,TINTRO) VALUES('Intel','世界上最大的CPU及相关芯片制造商')
INSERT INTO TEST1(TNAME,TINTRO) VALUES('Microsoft','全球最著名的软件商,美国软件巨头微软公司的名字')
INSERT INTO TEST1(TNAME,TINTRO) VALUES('AMD','世界第二大CPU制造商')
INSERT INTO TEST1(TNAME,TINTRO) VALUES('Sumsung','韩国三星公司,著名的彩显制造商,也生产光驱、家用电器等')
INSERT INTO TEST1(TNAME,TINTRO) VALUES('Apple','美国苹果电脑公司,该公司以生产高性能专业级电脑著称于世')

----查询TEST1的内容
SELECT TNAME,TINTRO FROM TEST1
复制代码

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

3.然后再IService1.cs中定义 WCF服务协定,具体代码如下:

复制代码
using System;
using System.ServiceModel;
using System.Data;
namespace Connect2SQL
{
    
    [ServiceContract]
    public interface IService1
    {
        //打开数据库
        [OperationContract]
       void  openSql();
        //关闭数据库
        [OperationContract]
        void closeSql();
        //查询数据
        [OperationContract]
        DataSet querySql();  
    }
}
复制代码

4.再在Service1.svc.cs中实现WCF服务协定,具体代码如下:

复制代码
using System;
using System.ServiceModel;
using System.Data;
using System.Data.SqlClient;

namespace Connect2SQL
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.
    public class Service1 : IService1
    {
        //连接数据库
        SqlConnection strCon = new SqlConnection("server=SQLServer服务器名称;database=数据库名称;uid=用户名;pwd=密码");
        /// <summary>
        /// 打开数据库
        /// </summary>
        /// <returns></returns>
        public void openSql()
        {
            strCon.Open();
        }
        /// <summary>
        /// 关闭数据库
        /// </summary>
        /// <returns></returns>
        public void closeSql()
        {
            strCon.Close();
        }

        /// <summary>
        /// 查询表TEST1中的数据
        /// </summary>
        /// <returns></returns>
        public DataSet querySql()
        {
            try
            { 
                openSql();
            string strSql = "SELECT TNAME,TINTRO FROM TEST1";
            DataSet ds = new DataSet();
            SqlDataAdapter s = new SqlDataAdapter(strSql, strCon);
            s.Fill(ds);
            return ds;
            }catch(Exception ex)
            {
                throw ex;
            }finally{
              closeSql();
            }

        }
    }
}
复制代码

5.启动服务,得到服务地址并新建一个名为“ShowData”的Web客户端,然后在Web客户端添加服务引用,具体过程见WCF初见之HelloWorld ,再在Web页面添加个GridView组件,具体代码如下:

复制代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="getData.aspx.cs" Inherits="ShowData.getData" %>

<!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></title>
</head>
<body>
    <form id="form1" runat="server">
    数据库的连接<br />
    <br />
    <asp:GridView ID="showData" runat="server" AutoGenerateColumns="False" >
        <Columns>
            <asp:BoundField DataField="TNAME" HeaderText="公司名称" />
            <asp:BoundField DataField="TINTRO" HeaderText="公司简介" />
        </Columns>
    </asp:GridView>

    </form>
</body>
</html>
复制代码

6.然后就是在Web页面编写事件,把查询到的数据显示到GridView组件中去,具体代码如下:

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace ShowData
{
    public partial class getData : System.Web.UI.Page
    {
        //实例化WCF服务端的类
        host.Service1Client sql = new host.Service1Client();
        protected void Page_Load(object sender, EventArgs e)
        {
            //把查询到的数据显示到GridView组件中去
            showData.DataSource = sql.querySql();
            showData.DataBind();
        }


    }
}
复制代码

 

7.现在就可以运行下了,效果图如下:






本文转自叶超Luka博客园博客,原文链接:http://www.cnblogs.com/yc-755909659/archive/2012/06/12/2546279.html,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
SQL 机器学习/深度学习 人工智能
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
本文系统性地阐述了自然语言转SQL(NL2SQL) 技术如何让非技术背景的业务分析师实现数据自助查询,从而提升数据驱动决策的效率与准确性。
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
|
3月前
|
SQL 监控 关系型数据库
一键开启百倍加速!RDS DuckDB 黑科技让SQL查询速度最高提升200倍
RDS MySQL DuckDB分析实例结合事务处理与实时分析能力,显著提升SQL查询性能,最高可达200倍,兼容MySQL语法,无需额外学习成本。
|
3月前
|
SQL 存储 关系型数据库
MySQL体系结构详解:一条SQL查询的旅程
本文深入解析MySQL内部架构,从SQL查询的执行流程到性能优化技巧,涵盖连接建立、查询处理、执行阶段及存储引擎工作机制,帮助开发者理解MySQL运行原理并提升数据库性能。
|
3月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
382 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
2月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
199 6
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
|
3月前
|
SQL 监控 关系型数据库
SQL优化技巧:让MySQL查询快人一步
本文深入解析了MySQL查询优化的核心技巧,涵盖索引设计、查询重写、分页优化、批量操作、数据类型优化及性能监控等方面,帮助开发者显著提升数据库性能,解决慢查询问题,适用于高并发与大数据场景。
|
3月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
3月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
130 13

热门文章

最新文章