mysql 参数个数无效_错误的参数个数或无效的参数属性值

本来想做一个ajax连接数据库的例子,结果这个问题没有解决,实在太晚了,明天还要上班。错误地方在代码中已标出

下面是第一次载入页面时,由servlet中的getAll()方法得到的results值。

cjavavb

cbook,c,c authorjavabook112,java,ddlksdfvbbook,vb,vbauthor

下面是代码:

ajax1.html

var xmlHttp;

window.οnlοad=displayAll;

function displayAll()

{

createXMLHttpRequest();

var url="http://localhost:8888/test/servlet/AjaxLists?";

xmlHttp.onreadystatechange=handleStateChange;

url=url+createQueryString("all","all");

xmlHttp.open("GET",url,true);

xmlHttp.send(null);

}

function createXMLHttpRequest() {

if (window.ActiveXObject) {

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

} else if (window.XMLHttpRequest) {

xmlHttp = new XMLHttpRequest();

}

}

function refreashList(id)

{

var selectList=document.getElementById(id);

option=selectList.options[selectList.selectedIndex].text;

var url="http://localhost:8888/test/servlet/AjaxLists?"+createQueryString(id,option);

createXMLHttpRequest();

xmlHttp.onreadystatechange=handleStateChange;

xmlHttp.open("GET",url,true);

xmlHttp.send(null);

}

function createQueryString(list,option)

{

var queryString="list="+list+"&option="+option;

return queryString;

}

function handleStateChange() {

if (xmlHttp.readyState == 4) {

if (xmlHttp.status == 200) {

updateLists("category");

updateLists("author");

updateBooks();

}

}

}

function updateLists(id)

{

var models=document.getElementById(id);

alert(xmlHttp.responseXML);

var results=xmlHttp.responseXML.getElementsByTagName(id);

if(results>0) //IE8调试工具说错误在这个地方。错误的参数个数或无效的参数属性值

{

clearElement(id);

var option=null;

option=document.createElement("option");

option.appendChild(document.createTextNode("All"));

models.appendChild(option);

for(var i=0;i

{

option=document.createElement("option");

option.appendChild(document.createTextNode(results[i].firstChild.nodeValue));

models.appendChild(option);

}

}

}

function updateBooks()

{

var models=document.getElementById("books");

var results=xmlHttp.responseXML.getElementByTagName("all");

var outMsg="";

for(var i=0;i

{

outMsg=outMsg+results[i].firstChild.nodeValue+"
";

}

models.innerHTML=outMsg;

}

function clearElement(id)

{

var models=document.getElementById(id);

while(models.childNodes.length>0)

{

models.removeChild(models.childNodes[0]);

}

}

Simple Application Form

category:

--图书种类--

Author:

--作者--

Server Response:

下面是servlet代码。

package com.zsc.ajax4;

import java.io.IOException;

import java.io.PrintWriter;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class AjaxLists extends HttpServlet

{

private Connection con;

Statement s = null;

private PreparedStatement ps = null;

public void processRequest(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException

{

response.setContentType("text/html;charset=UTF-8");

String results = "";

String choice = request.getParameter("option");

System.out.println("list=" + request.getParameter("list") + "option="

+ request.getParameter("option"));

if (choice.equals("all") || choice.equals("All"))

{

results = getAll();

System.out.println(results);

} else

{

results = getPartial(request.getParameter("list"), request

.getParameter("option"));

}

response.getWriter().write(results.toString());

}

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException

{

response.setHeader("Cache-Control", "no-cache");

processRequest(request, response);

}

private String getPartial(String list, String option)

{

StringBuffer results = new StringBuffer("");

try

{

if (list.equals("category"))

{

ps = con

.prepareStatement("SELECT DISTINCT author FROM books WHERE category=? order by author");

ps.setString(1, option);

ResultSet reAuthor = ps.executeQuery();

while (reAuthor.next())

{

results.append("");

results.append(reAuthor.getString(1));

results.append("");

// System.out.println(reAuthor.getString(1));

}

ps = con

.prepareStatement("SELECT title ,category,author FROM books where category=? order by title");

ps.setString(1, option);

ResultSet rsAll = ps.executeQuery();

while (rsAll.next())

{

results.append("");

results.append(rsAll.getString(1) + ","

+ rsAll.getString(2) + "" + rsAll.getString(3));

results.append("");

}

}

if (list.equals("author"))

{

ps = con

.prepareStatement("SELECT DISTINCT category FROM books WHERE author=? order by category");

ps.setString(1, option);

ResultSet reCategory = ps.executeQuery();

while (reCategory.next())

{

results.append("");

results.append(reCategory.getString(1));

results.append("");

// System.out.println(reCategory.getString(1));

}

ps = con

.prepareStatement("SELECT title ,category,author FROM books where author=? order by title");

ps.setString(1, option);

ResultSet rsAll = ps.executeQuery();

while (rsAll.next())

{

results.append("");

results.append(rsAll.getString(1) + ","

+ rsAll.getString(2) + "" + rsAll.getString(3));

results.append("");

}

}

} catch (SQLException e)

{

e.printStackTrace();

}

try

{

s.close();

} catch (SQLException e)

{

System.out.println("statement关闭异常:" + e);

e.printStackTrace();

}

results.append("");

return (results.toString());

}

private String getAll()

{

StringBuffer results=new StringBuffer("");

try

{

s=con.createStatement();

ResultSet rsCategory=s.executeQuery("SELECT DISTINCT category from books order by category");

while(rsCategory.next())

{

results.append("");

results.append(rsCategory.getString(1));

results.append("");

}

s=con.createStatement();

ResultSet rsAll=s.executeQuery("SELECT title,category,author FROM books order by title");

while(rsAll.next())

{

results.append("");

results.append(rsAll.getString(1)+","+rsAll.getString(2)+","+rsAll.getString(3));

results.append("");

}

} catch (SQLException e)

{

System.out.println("SQL异常:"+e);

e.printStackTrace();

}

try

{

s.close();

} catch (SQLException e)

{

e.printStackTrace();

}

results.append("");

return (results.toString());

}

public void init() throws ServletException

{

con = makeConnection();

}

private Connection makeConnection()

{

try

{

String dbUrl = "jdbc:mysql://127.0.0.1/mydb1";

String user = "root";

String password = "";

Class.forName("com.mysql.jdbc.Driver");

con = DriverManager.getConnection(dbUrl, user, password);

return con;

} catch (ClassNotFoundException e)

{

e.printStackTrace();

} catch (SQLException e)

{

System.out.println("SQL异常:"+e);

}

return con;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值