where语句 三个条件

where语句 三个条件,第1张

PK说的对,少了一个AND,建议你改写如下:

string sql = @"

SELECT COUNT()

FROM tLogin

WHERE (userName = '" + userName + @"')

AND (userPwd = '" + userPwd + @"')

AND (userIdentity = " + userIdentity + ")";

不过我更建议你把3个参数改成参数化输入,否则很容易被注入。

select count(1) from 表名 where fault_name = '发动机'

执行一下,先看看有多少条数据。

如果只有一条的话,那就不是sql的问题了,是数据只有一条的问题。

sql查询语句的where条件里可以使用参数吗? 50

比如

select from student where tID = @tID

这样可以吗?

翠竹安 | 浏览 3997 次

推荐于2016-03-25 14:48:49 最佳答案

从提升性能和安全的角度(防注入)来讲,建议使用参数化方式来处理。

示例如下:

//实例化Connection对象

SqlConnection connection = new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=''");

//实例化Command对象

SqlCommand command = new SqlCommand("select from UserInfo where sex=@sex and age>@age", connection);

//第一种添加查询参数的例子

commandParametersAddWithValue("@sex", true);

//第二种添加查询参数的例子

SqlParameter parameter = new SqlParameter("@age", SqlDbTypeInt);//注意UserInfo表里age字段是int类型的

parameterValue = 30;

commandParametersAdd(parameter);//添加参数

SqlDataReader reader = commandExecuteReader();

create or replace procedure test(in in_where varchar(100)) --创建一个存储过程test,并可以传入字符串作为参数

declare v_sql varchar(512);

set v_sql = ' delete from table1 where field1 in (' concat in_where concat ') ' ; -- 这里是把传进来的where语句拼起来

execute immediate v_sql; --这里是把语句进行执行---------类似以上这样的存储过程,使用以下的放在进行执行即可:call test( ' ''001'',''002'' ') ; --内容中的一个‘ 需要使用 ’‘ 进行转义

第一种写法是正确的。

当然你如果条件多了,还可以加()如:select*fromtbwhere(a字段='x'ora字段='y')andb字段='zzz'。

结构化查询语言(StructuredQueryLanguage)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL使用单引号来环绕文本值(大部分数据库系统也接受双引号)。

文本值:这是正确的:SELECT*FROMPersonsWHEREFirstName='Bush'。这是错误的:SELECT*FROMPersonsWHEREFirstName=Bush。

以上就是关于where语句 三个条件全部的内容,包括:where语句 三个条件、vb 数据库中where语句、如何用SQL在where语句里传optional参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10153851.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存