`

反思SQL的or连接词

    博客分类:
  • SQL
SQL 
阅读更多
下午在调试程序的时候一个诡异的现象,删除单据后被删除的单据依然显示在列表中,查看后台数据库,删除标记已经被置为Y。心里一阵纳闷,于是打断点跟踪,将程序加载时拼出来的语句放在SQL里执行了一把,结果还是把已经删除的记录给查出来了;然后就对着那个查询语句做修改,改来改去就是改不正确,明明在查询条件中对删除的字段做了过滤,但是还是能查出来。后来再将过滤条件一个一个添加,然后查询的土方法中终于发现了猫腻,嘿嘿  犯错误很低级 就是在过滤条件中添加了or关键字,但是没有加括号...

犯错的语句:
select *  from aaa 
where Delete!='Y'  
and Date between '2010-11-17 00:00:00' and '2010-12-17 23:59:59' 
and To in (select Stock from StockCtrl where User='106') 
or From in (select Stock from StockCtrl where User='106')  
order by Date desc



修改后的语句
select *  from aaa 
where Delete!='Y'  
and Date between '2010-11-17 00:00:00' and '2010-12-17 23:59:59' 
and (To in (select Stock from StockCtrl where User='106') 
or From in (select Stock from StockCtrl where User='106')) 
order by Date desc


其实要是把语句简化为 select * from aaa where delete = 'N' or 1=1 我想应该很快能定位这个错误
分享到:
评论

相关推荐

    SqlServer连接工具

    SQL Server连接工具是数据库管理员和开发人员用于与Microsoft SQL Server交互的重要软件。这些工具提供了多种功能,包括数据库的创建、管理、查询、备份、恢复以及性能优化等。在本篇文章中,我们将深入探讨SQL ...

    SqlDbx连接oracle

    首先,连接Oracle数据库通常需要Oracle客户端软件,但这里提到的“Sqldbx连接oracle,不用安装client”,意味着SqlDbx可能通过一种无需完整Oracle客户端的方式来实现连接。这种连接方式通常依赖于Oracle的Instant ...

    sql连接myeclipse与sql的连接

    sql连接myeclipse与sql的连接

    SQLTools sql连接工具

    SQLTools sql连接工具SQLTools sql连接工具SQLTools sql连接工具

    Windows下Neor Profile SQL 配置监控centos(linux)mysql详细步骤

    - 以Java JDBC为例,需要在应用程序中设置JDBC连接参数,指定Neor Profile SQL作为中间代理。 - 通常格式为:jdbc:mysql://localhost:port/?profileSql=1 - 其中,`localhost` 应替换为Neor Profile SQL所在机器...

    SQLDBX 连接多种类型的数据库

    SQLDBX是一款强大的数据库管理工具,它允许用户方便地连接并操作多种类型的数据库系统,包括SQL SERVER的各种版本、Oracle的不同版本以及MYSQL等。这款软件以其高效、易用和跨平台的特点,深受数据库管理员和开发...

    sql server客户端连接工具

    SQL Server客户端连接工具是数据库管理员和开发人员用来与Microsoft SQL Server进行交互的重要工具。它提供了图形用户界面(GUI)和命令行选项,使得用户能够轻松地执行查询、管理数据库对象以及进行其他数据库维护...

    sqldeveloper连接TIMESTEN

    在本文中,我们将详细介绍如何使用SQL Developer连接到TIMESTEN数据库。 首先,你需要确保已经下载并安装了TIMESTEN的客户端版本7.05,这个版本适用于Windows操作系统。TIMESTEN客户端包含了与数据库交互所需的所有...

    如何查看sql server数据库连接数

    查看 SQL Server 数据库连接数的多种方法 SQL Server 数据库连接数是一个重要的性能指标,它可以帮助数据库管理员了解当前数据库的工作负载和性能。查看数据库连接数有多种方法,本文将介绍四种不同的方法来查看 ...

    sqlserver连接测试工具

    sqlserver连接测试工具

    HeidiSql客户端,可连接mySql,sqlServer等数据库

    标题中的“HeidiSql客户端”指的是HeidiSQL,这是一个轻量级且用户友好的数据库管理工具,主要用于连接MySQL、MariaDB、SQL Server、PostgreSQL和Oracle等不同类型的数据库系统。这款软件以其简单易用的界面和高效的...

    ASP与SQL数据库连接代码 sql数据数据库数据库连接

    ASP与SQL数据库连接代码 sql数据数据库数据库连接,很实用,为建站准备

    VS+SQL数据库连接

    本文将详细讲解如何在Visual Studio中设置并连接到SQL Server数据库。 一、Visual Studio简介 Visual Studio是一款由Microsoft开发的集成开发环境(IDE),支持多种编程语言,如C#、VB.NET、C++等。它提供了丰富的...

    sql左连接,右连接,内连接,全连接讲解

    sql左连接,右连接,内连接,全连接详细讲解

    SQLServer2008客户端连接工具 sql manager工具

    一款免安装的sqlServer2008的客户端连接小工具,里面有详细的使用说明及汉化说明。和mysql 的 sqlyog一个性质。 注册: 运行registor.reg注册。 汉化:(软件运行保存文件目录不要使用中文目录) 1、运行“Manager....

    Neor Profile SQL 汉化

    Neor Profile SQL 汉化文件,兼容版本4.1 安装原版后,将文件放入languages文件夹下,从setting中选择Chinese即可

    sql server连接数据库 ado连接sql server

    ### SQL Server 数据库连接与ADO应用详解 #### 一、引言 在现代软件开发过程中,数据处理是一项至关重要的任务。Microsoft SQL Server作为一款广泛使用的数据库管理系统,在企业级应用中扮演着重要角色。ADO...

    sqlDbx连接数据库,不用安装Oracle客户端

    `sqlDbx`允许用户通过配置TNS(Transparent Network Substrate)来连接Oracle数据库,从而避免了Oracle客户端的庞大体积和安装复杂性。下面我们将深入探讨`sqlDbx`如何连接Oracle数据库以及TNS的配置方法。 首先,`...

    VB连接SQL SERVER连接字符串

    VB连接SQL SERVER连接字符串,里面有几种写法,本人亲自测试过,非常好用。

    SQL 服务器连接测试工具 Ver 1.0

    《SQL服务器连接测试工具 Ver 1.0》是一款基于VB.NET平台开发的应用程序,主要用于验证SQL SERVER服务器的安装状态和网络连通性。通过ADO(ActiveX Data Objects)技术,该工具能帮助用户在局域网环境中快速检测SQL ...

Global site tag (gtag.js) - Google Analytics