ASP.NET操作ORACLE数据库之模糊查询

一、ASP.NET MVC利用OracleHelper辅助类操作ORACLE数据库

          //连接Oracle数据库的连接字符串
string connectionString = @"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)
(HOST=localhost) (PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=TestDB)));
User Id=developer; Password=developer";
     
/// <summary>
/// 制作商品查询页面 条件:根据商品名称模糊查询
/// </summary>
/// <returns></returns>
public ActionResult product(string ProName)
{
/*法一、直接使用like模糊查询
string sql = "select * from product where chvProName like '%' || upper(:ProName) || '%'";
*/
//法二、使用concat函数查询
string sql = "select * from product where chvProName like concat(concat('%', upper(:ProName)), '%')"; ViewBag.name = ProName;
//使用OracleHelper辅助类
DataSet ds = OracleHelper.ExecuteDataset(connectionString, CommandType.Text, sql,
new OracleParameter(":ProName", OracleType.NVarChar) { Value = ProName});
return View(ds.Tables[0]);
}

一、ASP.NET Web直接操作ORACLE数据库

//连接Oracle数据库的连接字符串
string connectionString = @"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)
                (HOST=localhost) (PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=TestDB)));
                User Id=developer; Password=developer";
protected void Button1_Click(object sender, EventArgs e)
{
string proName = this.txtProName.Text.Trim();
/*法一、直接使用like模糊查询
string sql = "select * from product where chvProName like '%'|| upper(:proName) ||'%'";
*/
//法二、使用concat函数查询
string sql = "select * from product where chvProName like concat(concat('%', upper(:proName)), '%')";
OracleConnection connection = new OracleConnection(connectionString);
OracleCommand cmd = new OracleCommand(sql, connection);
cmd.Parameters.Add(new OracleParameter(":proName", proName) { OracleType = OracleType.NVarChar });
OracleDataAdapter adapter = new OracleDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds); this.GvPro.DataSource = ds.Tables[0].DefaultView;
this.GvPro.DataBind();
}


说明:

  在做该例子的时候,由于是刚接触Oracle,所以很多语句和方法一直都停留在MSSQLServer里面,所以刚开始做的时候写模糊查询like语句的时候居然把“||”写成了“+”,还调试了好几遍,后来被同学指出来了还被他笑了老半天!

  呵呵,,关于Oracle中字符之间的链接我想估计这辈子我都忘不了了:

        Oracle中字符之间的链接用"||"和函数CONCAT(),而非“+”;

ASP.NET操作ORACLE数据库之模糊查询的更多相关文章

  1. Oracle数据库,模糊查询、去重查询

    分组去重查询,并执行某一个函数 :select  分组字段,聚合函数 from 表名 where 条件 group by分组字段 select 分组字段,聚合函数 from 表名 where 条件 g ...

  2. python操作oracle数据库-查询

    python操作oracle数据库-查询 参照文档 http://www.oracle.com/technetwork/cn/articles/dsl/mastering-oracle-python- ...

  3. ASP.NET连接Oracle数据库的步骤详解(转)

    ASP.NET连接Oracle数据库的步骤详解   本文我们主要介绍了ASP.NET连接Oracle数据库的步骤及每个步骤需要进行的设置,希望能够对您有所帮助.   在用ASP.NET开发应用程序时, ...

  4. PHP操作Oracle数据库

    原文出处 (这是来自“百度文库”中的文章写得很不错) PHP操作Oracle数据库(OCI数据抽象层)OCI(Oracle 8 Call-Interface)是PHP中内置的数据库抽象层函数.下面针对 ...

  5. loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试

    调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...

  6. 连接Linux服务器操作Oracle数据库

    连接Linux服务器操作Oracle数据库   由于项目已经上线,现场的数据库服务器不允许直接用Oracle的客户端plsqldev.exe来连接,只能通过Linux服务器的命令来操作. 以下是用Se ...

  7. Asp.Net操作MySql数据库增删改查

    Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git  1.安装MySQL数据库 ...

  8. Oracle.DataAccess.dll方式操作oracle数据库

    Oracle.DataAccess.dll方式操作oracle数据库 一.查询语句: using (OracleConnection conn = new OracleConnection(Syste ...

  9. python接口自动化测试框架实现之操作oracle数据库

    python操作oracle数据库需要使用到cx-oracle库. 安装:pip install cx-oracle python连接oracle数据库分以下步骤: 1.与oracle建立连接: 2. ...

随机推荐

  1. 关于VS快捷键的使用总结

    首先快捷键是为了快,不能为了用快捷键而用快捷键. 既然说到快,我个人认为要涉及到一个使用频率问题,如果一个功能的快捷键使用频率极高,那么就应该把它调到触手可及的位置, 如:经常看别人源代码,经常会使用 ...

  2. 如何自己编写Makefile

    如何自己编写Makefile   相信很多朋友都有过这样的经历,看着开源项目中好几页的makefile文件,不知所云.在日常学习和工作中,也有意无意的去回避makefile,能改就不写,能用ide就用 ...

  3. Python全栈开发day8

    一.python生成/迭代器 yiled生成数据 python迭代器, 访问数据(通过next一次一次去取) 二.反射 通过字符串的形式,导入模块 通过字符串的形式,到模块中,寻找指定的函数,并执行 ...

  4. Flex 中画图工具(drawTool)失效

    做项目的时候画图工具突然失效,解决了半天都不行,最后将画图结束的函数map_drawEndHandler写在方法里面的时候,运行却能够画图了,不知道是什么原理,比较头疼,左思右想,都感觉有点怪怪的,虽 ...

  5. zTree入门-最简单的树

    最近发现项目中很多地方都是树形菜单,而这些树形菜单都是使用树形插件zTree来制作的,所以就想自学一下zTree,参照官方文档写了一个简单的案例,使用zTree做了 一个最简单的树形结构. 案例:zT ...

  6. 深入理解js——作用域和上下文环境

    如图除全局作用域外,每个函数都会创建自己的作用域.作用域在函数定义时就确定了,而不是在函数调用时确定. 下面按照程序执行的步骤加上上下文环境. 第一步:程序加载时已经确定全局上下文环境,并随着程序的执 ...

  7. mysql 数据库,表存储 大小

    use information_schema; -- 查询一个数据库存储大小 select concat(round(sum(data_length/1024/1024),2),'MB') as da ...

  8. Angularjs学习笔记(一)

    大部分传统的模板系统,对模板的渲染是个线性单向的过程:模板或变量与模板混合在一起产生结果的标记集合.任何对模型的改变都需要通过模板的重新计算.但AngularJS有所不同,任何用户引发的视图的改变,都 ...

  9. 关于NIO

    操作系统的IO控制 在整个IO控制方式的发展过程中,始终贯穿着这样一条宗旨:即尽量减少主机对IO控制的干预,把主机从繁杂的IO控制事务中解脱出来,以便更多地去完成数据处理任务.为了缓和高速CPU和IO ...

  10. nginx日志轮巡切割

    通过编辑脚本的方式来实现日志每日以及每天的切割纪录.可以通过计划任务的方式实现每天执行脚本,具体情况需要更加实际情况 vim /root/cut_nginx_log.sh #!bin/sh Datef ...