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,如需转载请自行联系原作者
目录
相关文章
|
17天前
|
SQL 存储 人工智能
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
Vanna 是一个开源的 Python RAG(Retrieval-Augmented Generation)框架,能够基于大型语言模型(LLMs)为数据库生成精确的 SQL 查询。Vanna 支持多种 LLMs、向量数据库和 SQL 数据库,提供高准确性查询,同时确保数据库内容安全私密,不外泄。
83 7
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
|
2天前
|
SQL Oracle 数据库
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
20 11
|
17天前
|
存储 缓存 网络协议
数据库执行查询请求的过程?
客户端发起TCP连接请求,服务端通过连接器验证主机信息、用户名及密码,验证通过后创建专用进程处理交互。服务端进程缓存以减少创建和销毁线程的开销。后续步骤包括缓存查询(8.0版后移除)、语法解析、查询优化及存储引擎调用,最终返回查询结果。
26 6
|
16天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
15天前
|
SQL 监控 安全
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
|
24天前
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
35 8
|
24天前
|
数据库 C# 开发者
ADO.NET连接到南大通用GBase 8s数据库
ADO.NET连接到南大通用GBase 8s数据库
|
22天前
|
SQL 存储 BI
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
|
22天前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
23天前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
下一篇
DataWorks