javaBean的文件fordb.java(可以生成fordb.class文件)内容如下:
package project3;
import java.sql.*;
import java.util.*;
import java.lang.*;
import java.text.*;
import java.io.*;
public class fordb{
String conn_str="jdbc:Microsoft:sqlserver://localhost:1433;DatabaseName=stat;";
String username="sa";
String password="sa";
private Connection conn=null;
private Statement stmt=null;
ResultSet rs=null;
public fordb()
{
try{
Class.forName(conn_str);
}catch(java.lang.ClassNotFoundException e)
{
System.err.println(e.getMessage());
}
}
public ResultSet executeQuety(String sql)
{
try{
conn=DriverManager.getConnection(conn_str,username,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
}catch(SQLException ex)
{
System.err.println(ex.getMessage());
}
return rs;
}
public int executeUpdate(String sql)(此是要引用的操作数据)
{
int result=0;
try
{
conn=DriverManager.getConnection(conn_str,username,password);
stmt=conn.createStatemen (ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
result=stmt.executeUpdate(sql);
}catch(SQLException ex)
{
System.err.println(ex.getMessage());
}
return result;
}
public void close(){
try{
if(conn!=null)
conn.close();
}catch(Exception e){
System.out.print(e);
}
}
}
操作文件research1.jsp(可以从research.jsp读取数据):
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage=""%>
<%request.setCharacterEncoding("gb2312");%>
<jsp:useBean id="qus" scope="session" class="project3.fordb"></jsp:useBean>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body leftmargin="0" topmargin="0"><%
String sql="";
String radio1=request.getParameter("radio1");
String radio2=request.getParameter("radio2");
String radio3=request.getParameter("radio3");
sql="INSERT INTO stat(q1,q2,q3) VALUES('"+radio1+"','"+radio2+"','"+radio3+"')";
int temp=qus.executeUpdate("sql");
if(radio1==null||radio1.equals("")||radio2==null||radio2.equals("")||radio3==null||radio3.equals(""))
{
response.sendRedirect("research.jsp");
}
if(temp>0)
{
out.println("谢谢您对本网站的支持!!");
}
%>
<%=temp%>
<%=radio1%>
<%=radio2%>
<%=radio3%>
<%
out.println("<br>");
%>
<a href="res.jsp">统计结果</a>
</body>
</html>运行过程没有错误.
但是不能把数据写入数据库中.
帮帮小弟!!!找出原因..
package project3;
import java.sql.*;
import java.util.*;
import java.lang.*;
import java.text.*;
import java.io.*;
public class fordb{
String conn_str="jdbc:Microsoft:sqlserver://localhost:1433;DatabaseName=stat;";
String username="sa";
String password="sa";
private Connection conn=null;
private Statement stmt=null;
ResultSet rs=null;
public fordb()
{
try{
Class.forName(conn_str);
}catch(java.lang.ClassNotFoundException e)
{
System.err.println(e.getMessage());
}
}
public ResultSet executeQuety(String sql)
{
try{
conn=DriverManager.getConnection(conn_str,username,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
}catch(SQLException ex)
{
System.err.println(ex.getMessage());
}
return rs;
}
public int executeUpdate(String sql)(此是要引用的操作数据)
{
int result=0;
try
{
conn=DriverManager.getConnection(conn_str,username,password);
stmt=conn.createStatemen (ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
result=stmt.executeUpdate(sql);
}catch(SQLException ex)
{
System.err.println(ex.getMessage());
}
return result;
}
public void close(){
try{
if(conn!=null)
conn.close();
}catch(Exception e){
System.out.print(e);
}
}
}
操作文件research1.jsp(可以从research.jsp读取数据):
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage=""%>
<%request.setCharacterEncoding("gb2312");%>
<jsp:useBean id="qus" scope="session" class="project3.fordb"></jsp:useBean>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body leftmargin="0" topmargin="0"><%
String sql="";
String radio1=request.getParameter("radio1");
String radio2=request.getParameter("radio2");
String radio3=request.getParameter("radio3");
sql="INSERT INTO stat(q1,q2,q3) VALUES('"+radio1+"','"+radio2+"','"+radio3+"')";
int temp=qus.executeUpdate("sql");
if(radio1==null||radio1.equals("")||radio2==null||radio2.equals("")||radio3==null||radio3.equals(""))
{
response.sendRedirect("research.jsp");
}
if(temp>0)
{
out.println("谢谢您对本网站的支持!!");
}
%>
<%=temp%>
<%=radio1%>
<%=radio2%>
<%=radio3%>
<%
out.println("<br>");
%>
<a href="res.jsp">统计结果</a>
</body>
</html>运行过程没有错误.
但是不能把数据写入数据库中.
帮帮小弟!!!找出原因..
sql不该带引号啊,不过应该报错啊
加上qus.close();
试一下
试一下,不过sql加""也没有报错的.
不行呀.
在运行的时输出的temp为0呀.也就是没有操作数据库.但是我不用javaBean来封装就行.
我觉得应该是:sql="INSERT INTO stat(q1,q2,q3) VALUES('"+radio1+"','"+radio2+"','"+radio3+"')";
int temp=qus.executeUpdate("sql");
这里错了.但我找不出了.
还有人吗??帮帮我...
research.jsp进口表单错误没有
<%=radio1%>
<%=radio2%>
<%=radio3%>
这些可以输出值.
还是多谢..
帮我看看..
加了引号这个过程应当是被认为是视图或存储过程,不过控制台应当有错误才对呀。
应当是sql加引号引起的。
加了引号这个过程应当是被认为是视图或存储过程,不过控制台应当有错误才对呀。但是我把""号去掉也没有反应.
但我用articleconn.jsp来操作数据库时可以呀:
<%@ page contentType="text/html; charset=gb2312" import="java.sql.*,java.io.*,java.util.*,java.lang.*" %>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Project";
String user="sa";
String password="sa";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
%>
(要在research1.jsp修改就行)
这是我觉的就奇怪的地方了.
而我在网上找到的例子,调用javaBean的例子也是这样调用的.
就是读数据不行.
还是多谢你哦.
请帮我看看....
加上qus.close();
你的数据库名是stat,表名也是stat?
对的..
这个有问题吗?
int temp=qus.executeUpdate(sql);//如果sql加上引号是不会报错的,因为你在bean里面的接受参数也是字符型,只不过你传入的只是字符串"sql",而不是你要传入的sql="INSERT INTO stat(q1,q2,q3) VALUES('"+radio1+"','"+radio2+"','"+radio3+"')";但是我把sql引号去掉还是不行.
我也把数据库号改了还是不行.
我的程序有地方不对吗?
...多谢..能帮我看看吗?
我找了很久了..
还有,在request.getParameter后,最好判断一下接收过来的值是否为null
我的qq是123278439