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. js对象(一)

    1.创建对象 /*直接创建*/ var person = new Object(); person.name = "宝宝"; person.age = 3; var person2 ...

  2. 照片元数据信息以及在照片中写入gps信息

    /// 照片元数据编码 在下面的文章里,可以看到图片所有的元数据定义信息 https://msdn.microsoft.com/zh-cn/library/system.drawing.imaging ...

  3. 视频聊天APP

    1 通讯 P2P 1.1 关键字[java udp 打洞] 参考文章 http://www.oschina.net/code/snippet_165555_17279 关键代码 package org ...

  4. 转王波洋,SQL语句中的 for XML Path('')

    FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...

  5. poj1157LITTLE SHOP OF FLOWERS

    Description You want to arrange the window of your flower shop in a most pleasant way. You have F bu ...

  6. MVC数据传递和多表单

    1.数据传递(1)session和TempData 全局变量,可以将值从一个动作传递到另一个动作,也可以从控制层传递到视图层. TempData取一遍值后自动销毁. session使用: //控制器中 ...

  7. centos7 安装lamp

    1升级gcc4.8以上  yum update gcc2升级openssl     yum update openssl 3安装apache a 安装apr   ./configure --prefi ...

  8. MySQL存储引擎的实际应用以及对MySQL数据库中各主要存储引擎的独特特点的描述

    MySQL存储引擎的实际应用以及对MySQL数据库中各主要存储引擎的独特特点的描述: 1.MySQL有多种存储引擎: MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(Berk ...

  9. 【POJ2778】DNA Sequence(AC自动机,DP)

    题意: 生物课上我们学到,DNA序列中只有A, C, T和G四种片段. 经科学发现,DNA序列中,包含某些片段会产生不好的基因,如片段"ATC"是不好片段,则"AGATC ...

  10. csdn的app打开贴子显示空白?

    csdn或者虎扑的app打开贴子显示空白,卸载后重装仍然有同样的问题. 可能是android系统的WebView版本太落后. 打开应用市场,更新WebView就可以解决了.