关于servlet中sql语句的问题

String sql="select * from t_log where name=? and pw=?";
在运行到这句的时候产生以下错误

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? and pw=?' at line 1

换成
String sql="select * from t_log"; 可以执行
其他的sql语句
String sql = "insert into t_log(name,pw) values(?,?)"; 也能执行

求解释,是不是where的用发错了啊

9个回答

追加,改为String sql="select * from t_log where name=? "; 依然报错

where没用错啊,是不是你要查询的值不符合条件呢

这种是参数化查询语句,你没给执行语句的对象添加name和pw参数吧

String sql="select * from t_log where pw=?";
String sql="select * from t_log a where a.name=?";
这样试试

select * from t_log where name='名字' and pw='密码’直接参数拼接起来呢

这种SQL是属于PreparedStatement,需要这样使用:
PreparedStatement pstmt = conn.prepareStatement("select * from t_log where name=? and pw=?"); // 创建语句,里面的参数等可以用问号代替
pstmt.setString(1,"a");//给第一个问号赋值"a";
pstmt.setString(2,"b");//给第二个问号赋值"b";

pstmt.executequery();

先丢到客户端执行,看是否可以。

肯定不是运行到这句报的错吧,你执行这个sql时报的错,你之后在提交这个SQL之前,有没有给这两个问号复制 String sql="select * from t_log where name=? and pw=?";
在运行到这句的时候产生以下错误

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java servlet执行多条MySQL查询语句

在MySQL中执行多个语句,需要把allowMultiQueries参数置为true,而且,只有MySQL Connector/J 3.1.1以上版本才支持。 建立连接时设置一下就可以了,如:jdbc:mysql://127.0.0.1/sample?user=root&password=&allowMultiQueries=true // 执行多条MySQL查询语句->custo

关于Java面试中sql优化的问题浅析

在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优 化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能

SQL 替换语句汇总

1、要被替换的字段为NULL时方法: update [表名] set [字段名] =’要替换成的内容’ where [字段名] is null 2、要被替换的字段为空时方法: update [表名] set [字段名] =’要替换成的内容’ where [字段名] = ” 3、要被替换的字段为其它正常形式时方法: update [表名] set [字段名] = replace([字段名],

mybatis框架(动态SQL语句)

1.实现动态的SQL语句 2.掌握的分页 3.mybatis的常用的配置。 动态SQL语句。 1.动态SQL:在SQL语句中加入流程控制。比如加入if,foreach等。  重点掌握if语句:  案例1: //更新         update userinfo set                      userName = #{userName},      

Servlet实现对SQLServer数据库的增删改查(含工程源码)

本文实现了用MyEclipse,编写Servlet,实现对SQLServer数据库的增删改查,适合新手入门,文末提供工程文件源码下载。1.新建数据库test以及表users表users共四列(id,name,psd,tel) 具体操作步骤见上篇博文。具体操作步骤2.新建工程Web Project工程0623p3. 编辑WebRoot目录下的index.jsp创建表单(序号、账号、密码、电话、操作)

拼sql语句统计表中数据

sql语句,学生表统计各省人数和各省的报道人数

面试中关于servlet的问题

1、servlet生命周期初始化:web容器加载servlet,调用init()方法;处理请求:允许service()方法,service()自动运行与请求对应的doXXX方法(doGet或doPost) 销毁:服务结束后,web容器调用servlet的distory()方法销毁servlet2、jsp与servlet 有什么区别。jsp在本质上就是servlet,但是两者的创建方式不同,serv...

SQL语句中关于字符串的拼接问题

要求:将ORACLE数据库里面的XX信息(表B,客户的数据库)导入到“接口表”(A,自己系统的数据库)中。此对照表的信息同ORACLE里面的XX数据表信息一样。此项操作由系统的系统管理员来完成,并且可以随时导入,对于已经导入成功的数据,不会重复导入。     表的结构:             CREATE TABLE A(              ID              NUMBER(

oracle中sql语句大小写问题

oracle 中的sql语句除了数据库中的内容区分大小写,其他都不区分大小写(如字段,表名,insert,update,......)  sElEct Job,dEpTno  froM emP;连这样写都行! select dePTno from eMp where job='CLERK';//CLERK存储在数据库中就是大写,则查询是一定要大写

SQL对时间处理的语句小结

–获取当前时间Select getdate()–获取当前年月日 YY代表年,MM代表月,DD代表日,hh代表时,ss代表秒 /* year yy 1753–9999 quarter qq 1–4 month mm 1–12 day of year dy 1–366day dd 1–31 week wk 1–53 weekday dw 1–7(Sunday–Saturday)hour hh 0–2

Oracle实用笔记集合

整理了关于Oracle数据库中的SQL语句。

Servlet中一些路径问题(客户端路径和服务端路径)

路径问题分为两种一种是客户端路径,一种是服务端路径,下面分别来介绍1.客户端在进行客户端跳转和服务器端跳转时,都需要指定目标资源的URL,如果这个路径以“”开始。在客户端跳转当中“”代表的是应用服务器根目录,即“http://localhost:8080/”, response.sendRedirect("")以上这些属于客户端路径,其中“/”为http://localhost:8080,“/”后...

sql语句,三种删除drop、delete、truncate,区别

1drop,直接将表删掉 2delete,删除表中数据,不删除表;可以撤销 3truncate,删除表中数据,不删除表;不可撤销 http://www.cr173.com/html/40708_1.html

数据库课件

关于sql server中sql语句的描述 非常好的数据库教程

asp+sql教程

学习asp中sql的应用,关于sql基本语句的学习

关于预编译语句使用的注意事项

今天我在使用预编译语句发现了类似的错误。Error Descript as blew:[Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column 3.经测试发现,原来时查询的字段和从结果集中取的字段顺序不一致的原因。我的相关代码如下:1、sql语句如下:sele

一道SQL语句面试题,关于group by的

一道SQL语句面试题,关于group by 表内容: 2015-05-09 胜 2015-05-09 胜 2015-05-09 负 2015-05-09 负 2015-05-10 胜 2015-05-10 负 2015-05-10 负 如果要生成下列结果, 该如何写sql语句?            胜 负 2015-05-09 2  2 2015-05-10 1

mysql系列(七)SQL语句之使用正则表达式进行搜索

一、什么是正则表达式 正则表达式是用正则表达式语言来建立 ,用来匹配文本的特殊的串(字符集合) 。 二、使用mysql正则表达式 mysql用WHERE子句对正则表达式提供了初步的支持,允许你用正则表达式过滤SELECT检索出来的数据,使用正则表达式需要用 REGEXP 关键字。 2.1 基本字符匹配 检索column1_name包含文本1000的所有行 SELECT column1...

面试总结-SQL优化

最近的面试中经常提到这个SQL优化的问题,在这整理下方便记忆SQL语句全部大写 (所有SQL语句执行时都会转换成大写) 避免使用星号 * ,用具体字段替代(使用星号会在查询时增加一个查询列的操作) 尽量避免在 where 子句中对字段进行 null 值判断,最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库 (不然会进行全表扫描,影响效率) -反例:select id from

oracle 模糊查询 (处理jsp页面传过来的条件)

oracle数据模糊查询的语句:SELECT m.MUSICID,m.MUSICNAME,m.MUSICPICTURE,m.MUSICLYRICS,m.MUSICINSTRUCTION FROM MUSIC m where m.musicname like '%见%'; 本来 我是打算通过 实体类(entity),数据访问层(dao),业务逻辑层(biz)封装后 在Action中调用模糊查询

包含IN子查询的SQL语句的优化

当SQL语句中包含in语句时,有时候会极大的影响性能,我们可以把in子查询用exists子查询或外连接替代 例子如下:    1.SQL语句中包含IN子查询: Sql代码   SQL> select * from servers s     2   where s.srvr_id = 3333333 or     3   s.srvr_id in (sele

MYSQL关于时间日期的sql语句

<br /><br />描述:有一个会员表,有个birthday字段,值为'YYYY-MM-DD'格式,现在要查询一个时间段内过生日的会员,比如'06-03'到'07-08'这个时间段内所有过生日的会员。<br />   SQL语句: Select * From user Where DATE_FORMAT(birthday,'%m-%d') >= '06-03' and DATE_FORMAT(birthday,'%m-%d') <= '07-08';<br />    说明:常用的时间日期处理函数,上面

关于servlet的线程安全问题

1、Servlet对象是一个单实例的对象,并且在多线程的环境下运行,所以Servlet对象存在线程安全问题。 2、什么情况下会存在线程安全问题? 条件1:多线程并发 条件2:有共享数据 条件3:共享数据涉及到修改操作 3、JVM包括三块主要的内存空间:栈内存、堆内存、方法区内存   - 栈内存: 方法调用的时候,该方法所需要的内存在栈中分配,此时发生压栈动作,方法结束的时候,

一条替换查询的结果的sql语句

<br />select case isempty when 1 then 'YES' when 0 then 'NO' end as IsEmpty from extendproperty <br /> <br />当isempty <br />=1 显示 YES<br />=0 显示 NO

sql语句常见问题集锦

一、group by 、where、having问题 group by要求返回的所有字段,要么出现在聚合函数(avg、sum、count、max、min等)中,要么出现Group By后面作为分组依据,不然高版本的mysql会报错。如: select albumId,programId,sum(playNum) as playNum,sum(onlineNum ) as onlineNum fr

SQL常见的一些面试题(太有用啦)

SQL常见面试题 1.用一条SQL 语句 查询出每门课都大于80 分的学生姓名 name   kecheng   fenshu 张三    语文       81 张三     数学       75 李四     语文       76 李四     数学       90 王五     语文       81 王五     数学       100 王五     英语  

Servlet中的成员变量有什么特点,什么时候需要成员变量?

Servlet中的成员变量有什么特点,什么时候需要成员变量?

Java面试需要知道的SQL语句语法(二)

12、使用外连接  A、left outer join:  左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。  sql: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c B:right outer join:  右外连接(右连接):结果集既包括连接表的匹配连接行,也包括

数据库实用教程--结构化查询语言SQL

讲述了数据库只是中关于SQL语句的部分,有查询语句,创建语句,更新语句等。

关于sql语句中的单引号(‘ ) 和双引号(“) 的处理问题?

字符串中的',一律用两个''表示就行了 create table test( id integer primary key autoincrement, var text ); insert into  test(id,var)  values(null, 'he''s brother -- "The Dragon"');

Java中Servlet的生命周期问题

下列有关Servlet的生命周期,说法不正确的是? A. 在创建自己的Servlet时候,应该在初始化方法init()方法中创建Servlet实例 B. 在Servlet生命周期的服务阶段,执行service()方法,根据用户请求的方法,执行相应的doGet()或是doPost()方法 C. 在销毁阶段,执行destroy()方法后会释放Servlet 占用的资源 D. destroy()方

关于JSP/Servlet字符编码

首先,来说一下HTML和JSP的区别: HTML属于前台,纯展示页面,请求HTML时,容器(如Tomcat)会读取HTML文件的内容,通过socket遵循HTTP协议发送到浏览器; JSP属于后台,请求JSP时,容器会首先读取JSP文件的内容,然后根据JSP文件内容生成对应的java类文件(这个类是继承自HttpJspBase的,而HttpJspBase是继承自HttpServlet的,所以J

关于jsp和servlet常见面试题

1.转发和重定向的区别?     获取转发器:RequestDispatcher rd=request.getRequestDispatcher(String uri)     转发:rd.forword(request,response)     重定向:response.sendRedirect(String uri);                     转发(forword) 

SQL常见面试题

1.用一条SQL 语句 查询出每门课都大于80 分的学生姓名 name   kecheng   fenshu 张三    语文       81 张三     数学       75 李四     语文       76 李四     数学       90 王五     语文       81 王五     数学       100 王五     英语       90 A

mysql数据库sql语句的一些常用优化方法

1.应尽量避免在 where 子句中使用!=或 2.对在where中常用的字段,可以适当建立合适的索引。 通常在mysql数据库中,为一个表中加入索引,代码格式为:ALTER TABLE ADD INDEX (); 例如:alter table test add index(t_name);         可以通过describe  table_name来查看表中索引等情况。 3

SQL server语句的学习

压缩包中是关于SQL server语句的一些具体例子

ACCESS SQL集合

关于ACCESS中SQL的一些常用的语句.很值得看的.

sql中的group by语句

group by语句用于结聚集函数,根据一个或者多个列对结果集进行分组。    sql中的聚焦函数有: count():统计某一列中值的个数 sum():计算某一列的总和 avg():计算某一列的平均值 max():计算某一列的最大值 min():计算某一列的最小值  group by 通常与这几个函数一起使用    现在我们有一个数据表sc Sno代表学号, Co

sql语句查询时间比较

SELECT     e.id AS &quot;id&quot;,     e.enterprise_name AS &quot;enterpriseName&quot;,     y.industry_name AS &quot;industryName&quot;,     d.district_name AS &quot;districtName&quot;,     v.level_value AS &quot;levelValue&quot;,     v.sumScore as &quot;.

SQL绑定变量

下面有关sql绑定变量的描述,说法错误的是? 正确答案: D A. 绑定变量是指在SQL语句中使用变量,改变变量的值来改变SQL语句的执行结果 B. 使用绑定变量,可以减少SQL语句的解析,能减少数据库引擎消耗在SQL语句解析上的资源 C. 使用绑定变量,提高了编程效率和可靠性,减少访问数据库的次数 D. 使用绑定变量,查询优化器会预估的比字面变量更加真实D.绑定变量被使用时,查询优化器

关于mybatis中如何动态打印sql语句到控制台

https://www.cnblogs.com/sw3828/p/8037626.html

关于mysql数据库中常用的面试题以及sql语句和关键字的详解!

最近经常看到一些关于一些sql面试题的博客,如果站在初学者的角度来看的话,发现大有不足之处, 1.没有对各个关键字详细的介绍; 2.没有解题思路;接下来我对最近常见的几个sql题的解题思路以及所用关键字做一个详细的介绍,希望能帮助到大家!一、已知有如下表内容 2005-05-09 胜 2005-05-09 胜 2005-05-09 负 2005-0

面试总结------常用SQL语句

面试总结——常用SQL语句 说明:创建数据库 CREATE DATABASE database-name; 说明:删除数据库 DROP DATABASE database-name; 说明:创建新表 create table depart (dept_id int(11) NOT NULL AUTO_INCREMENT, dept_name varchar(255) DEFAULT NULL

oracle_sql性能优化

讲述Oracle中的SQL语句如何进行性能优化的问题

java中util日期与sql日期互相转换 实现前端日期数据传入servlet存入数据库

实现前端日期数据传入servlet存入数据库,java中util日期与sql日期互相转换

Java动态拼接SQL--01

关于java多条件查询SQL语句拼接的小技巧 最近在实验室做项目的时候遇到了java的多条件查询,翻看了论坛上其他大牛们的博客,都没有给出一个详细的解答。自我探索了一会后给出了下面这样的使用技巧,还算方便,仅供各位参考。 前端的页面显示: 查询所给的表单代码 form action="" > table> tr> td>span>PMNM(内码

eclipse中servlet 中文 输出变为 ?? 的问题

出现乱码一定是编码集的问题,试一试,response.setCharacterEncoding(&quot;GB2312&quot;); 设置response使用的码表也是小白,详细请参照https://blog.csdn.net/xiazdong/article/details/7217022/;...

servlet线程安全问题的详解

摘 要:介绍了Servlet多线程机制,通过一个实例并结合Java 的内存模型说明引起Servlet线程不安全的原因,给出了保证Servlet线程安全的三种解决方案,并说明三种方案在实际开发中的取舍。      Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的,所 以,在编写代码时需要非常细致地考虑多线程

sql语句的各种模糊查询语句

一般模糊语句如下:SELECT 字段 FROM 表 WHERE 某字段 Like 条件其中关于条件,SQL提供了四种匹配模式:1、%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。比如 SELECT * FROM [user] WHERE u_name LIKE ‘%三%’将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“

SQL中关于EXISTS谓词的理解

  在SQL语言中,EXISTS(存在)谓词是一个非常重要的查询关键词。   让我们先看看EXISTS的用法:EXISTS代表存在量词。带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”。 例如,以下的SQL语句:   SELECT sname FROM student WHERE exists ( SELECT * FROM sc ...

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问