Mysql与web之间的数据、查询等个问题

	在自己写的一个jsp主页连接数据库出现的各种问题,写记下来与大家分享,共勉。最后附jdbc代码。
---DanlV

Error

1---错误代码:

javax.servlet.ServletException com.microsoft.sqlserver.jdbc.SQLServerException 索引 1 超出范围

问题描述:是由于 sql语句中的?是中文,所以显示索引号错误

解决方案

解决方案:将中文问号改为英文问号。

2---链接指空

在其他都对的情况下,包括驱动正确,sql包正确登情况下,莫名出现connectin指空,可能是Tomcat服务器中有其他的工程。

解决方案

删除tomcat服务器中其他的工程,再次重启tomcat服务器,就连接上了。

3---错误描述

no suitable driver for jdbc

错误jsp页面导致结果:Connection 返回结果为空

解决方案

原因:

1.没有导入sqljdbc。jar(这个错误一般不会犯)

2.数据库错误(账号密码等)

3.引入driver= 的驱动根目录最后去掉后缀

4.在webContent/WEB-INF/bin/中放入sqljdbc.jar,然后右键构建路劲

***重点!!!! ***

直接将sqljdbc放在根目录下,再进行构建路劲,有时会造成此错误,原因不明。但是,根目录下sqljdbc构建路径,纯java写法连接数据库是成功的,但是在jsp页面中是找不到驱动,造成此错误。此错误很误导人,让人以为是jdbc的问题,其实并不是。

JDBC

package zhangze;

import java.sql.*;

public class DBUtils {

private static final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String URL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName= *****";
private static final String USERNAME="****";
private static final String PASSWORD="****.";
private static Connection conn; //?????
static{
try {
//??????
System.out.println(DRIVER);
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
} //????????????
public static Connection getConn(){
try {
if(conn == null || conn.isClosed()){
conn = DriverManager.getConnection(URL,USERNAME,PASSWORD);
}
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
} public static void close(ResultSet rs,PreparedStatement ps,Connection conn){
try {
if(rs != null)rs.close();
if(ps != null)ps.close();
if(conn != null)conn.close();
} catch (SQLException e) {
e.printStackTrace(); }
}
} 在jsp文件头部导入
<%@page import="zhangze.DBUtils"%>
<%@ page import="java.sql.*"%>
之后再
<%
String sql="select * from photo where id=1";//连接数据库
Connection conn= DBUtils.getConn();//获取连接
out.print("<script>alert("+conn+")</script>");
PreparedStatement ps = conn.prepareStatement(sql);//获取处理命令
ResultSet rs=ps.executeQuery();//执行查询
if(rs.next())
out.println(rs.getString(2));
rs.close();
%>

Mysql与web之间的数据、查询等个问题的更多相关文章

  1. mySQL 教程 第4章 数据查询

    mySQL运算符 这些运算符在SQL查询中用得到. 算数运算符 + 加 - 减 * 乘 / DIV 除 % MOD 取余数 比较运算符 = 等于 <> != 不等于 < <= ...

  2. Hadoop Hive概念学习系列之HDFS、Hive、MySQL、Sqoop之间的数据导入导出(强烈建议去看)

    Hive总结(七)Hive四种数据导入方式 (强烈建议去看) Hive几种数据导出方式 https://www.iteblog.com/archives/955 (强烈建议去看) 把MySQL里的数据 ...

  3. Android+Servlet+MySql+JSON实现简单的数据查询操作--C/S架构

    本例简单地实现Android客户端与服务器端交互,主要是通过客户端输入内容(学号)提交到服务器端,服务器端与数据库交互去查询相应信息(姓名).根据这个做个完整的安卓登录是没问题的.本例数据库服务器都采 ...

  4. 【SQL】Oracle和Mysql的分页、重复数据查询(limit、rownum、rowid)

    上周三面试题有两道涉及Oracle的分页查询,没有意外地凉了,现在总结一下. · Mysql mysql的分页可以直接使用关键字limit,句子写起来比较方便. 语法: ① limit m,n -- ...

  5. MySql数据库之单表数据查询

    查询数据 1.查询所有数据: select * from 表名; 2.根据指定条件查询数据:

  6. mysql+canal+kafka+elasticsearch构建数据查询平台

    1. 实验环境 CPU:4 内存:8G ip:192.168.0.187 开启iptables防火墙 关闭selinux java >=1.5 使用yum方式安装的java,提前配置好JAVA_ ...

  7. MySQL 多会话之间更新数据的小实例

    1:创建一个实验表 mysql> use test; mysql> CREATE TABLE t -> (id int(11) NOT NULL DEFAULT 0, -> n ...

  8. [转]MYSQL 与 Oracle 之间的数据类型转换

    原文地址:http://www.cnblogs.com/guyueyanzi/archive/2010/02/27/1674788.html Table 2-4 Default Data Type M ...

  9. Mysql与Oracle之间的数据类型转换

    MySQL Data Type Oracle Data Type BIGINT NUMBER(19, 0) BIT RAW BLOB BLOB, RAW CHAR CHAR DATE DATE DAT ...

随机推荐

  1. 2016级算法第四次上机-A.Bamboo 和人工zz

    Bamboo和人工ZZ 题意: 非常直白,经典的动态规划矩阵链乘问题 分析: 矩阵链A1A2..An满足结合律,可以使用加括号的方式,降低运算代价. 一个pq的矩阵和一个qr的矩阵相乘,计算代价为pq ...

  2. Kettle导入数据到Hive 出现多余的几行全部是null值的情况

    Kylin构建Cube的时候老是报错,说是有空值,其实源数据中是不存在空值的.为什么建Cube的时候会有呢? 执行完毕后使用Hive查询发现多了好几行全部是null的行. 这在源数据中是不存在的.分析 ...

  3. PHP 五大运行模式

    查看当前php 运行模式 php_sapi_name(); 运行模式 关于PHP目前比较常见的五大运行模式: 1)CGI(通用网关接口/ Common Gateway Interface) 2)Fas ...

  4. CDQZ Day2

    模拟题 day2出题人: liu_runda题目名称 一盘大棋 下一代互联网 强连通分量源程序文件名 chess.cpp net.cpp scc.cpp输入文件名 chess.in net.in sc ...

  5. 榨取kkksc03 多维dp

    榨取kkksc03 多维dp 题面:洛谷 P1855 榨取kkksc03 一道简单的动态规划,背包再加一维费用,首先可以易得三维动态规划转移方程 \[ dp[i][j][w]=\left\{ \beg ...

  6. JAVA中 package 和 import 的使用

    1.打包--package 包名一般为小写,而类名的第一个字母一般为大写,这样在引用时,可以明显的分辨出包名和类名.如果在类的定义之前没有使用package定义包名,那么该类就属于缺 省的包. 1.1 ...

  7. 赋值运算与深浅copy

    1.复制运算 l1 = [1,2,3,['a','b']] l2 = l1 l1[0] = 111 print(l1) # [111, 2, 3, ['a', 'b']] print(l2) # [1 ...

  8. 【Css】Layout布局(二)

    css定位(Positioning) 所谓定位,即允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素.另一个元素甚至浏览器窗口本身的位置. css提供了三种基本的定位机制:普通流.浮动和 ...

  9. php 内存共享shmop源码阅读

    多进程通信的时候,会涉及到共享内存.shmop_open()创建或打开一个内存块 PHP_FUNCTION(shmop_open) { long key, mode, size; struct php ...

  10. nginx内网代理为外网地址

    #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...