站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题我不会,求一个结果 。我的代码都贴出来,能够使用的,我要的是”数据库连接哪个部分“怎样更改 对于我的代码 高效。。。。。。

我不会,求一个结果 。我的代码都贴出来,能够使用的,我要的是”数据库连接哪个部分“怎样更改 对于我的代码 高效。。。。。。

摘要: 我不会,求一个结果 。我的代码都贴出来,能够使用的,我要的是”数据库连接哪个部分“怎样更改 对于我的代码 高效。。。。。。


我不会,求一个结果 。我的代码都贴出来,能够使用的,我要的是”数据库连接哪个部分“怎样更改 对于我的代码 高效。。。。。。
jsp代码::::
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>




<head>
用JavaBean查询数据库
</head>
<body>
<%//增加数据

String course="dfg";
String school="dddddd";
String studydate="sssssssss";
String rule="gggggggggg";
//String insertstringSqlString="insert into FIXDATA(SITE_ID,SAMPLING_DATETIME,ACTUAL_VALUE,ALTERANT_VALUE)values("+course+","+school+","+studydate+","+rule+")";
String insertstringSqlString="insert into FIXDATA(SITE_ID,SAMPLING_DATETIME,ACTUAL_VALUE,ALTERANT_VALUE)values('"+course+"','"+school+"','"+studydate+"','"+rule+"')";
out.print("----------fghfghfghfghfgh-------------");
try
{
//设置连接


//query.QueryBean();
query.setConnection("com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://10.0.0.31:1433;DatabaseName=testDB","sa","sa");
//设置SQL语句
out.print("----------fghfghfg 数据库连接成功 hfghfgh-------------");
query.setQuerystatement(insertstringSqlString);
//得到查询结果
query.insertRecord() ;
}
catch(SQLException e1)
{
out.print("SQL异常!");
}

//增加数据
%>
<%//查询数据库
ResultSet rs=null;
String stringSqlString="SELECT * FROM FIXDATA";
try
{
//设置连接
//query.QueryBean();
query.setConnection("com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://10.0.0.31:1433;DatabaseName=testDB","sa","sa");
//设置SQL语句
query.setQuerystatement(stringSqlString);
//得到查询结果
rs=query.getResult();
}
catch(SQLException e1)
{
out.print("SQL异常!");
}
%>
<%//显示查询结果
out.print("<table Border>");
out.print("<tr><td colspan=8 align=center>用QueryBean查询得到的用户数据</td></tr>");
out.print("<tr>");
out.print("<td width=100 >"+"用户ID号");
out.print("<td width=50 >"+"用户名");
out.print("<td width=100>"+"用户真实姓名");
out.print("<td width=50>"+"年龄");
out.print("<td width=50>"+"性别");
out.print("<td width=100>"+"联系地址");
out.print("<td width=100>"+"联系电话");

out.print("</tr>");
while(rs.next())
{ out.print("<tr>");
out.print("<td >"+rs.getString(1)+"</td>");
out.print("<td >"+rs.getString(2)+"</td>");
out.print("<td >"+rs.getString(3)+"</td>");
out.print("<td >"+rs.getString(4)+"</td>");
out.print("<td >"+rs.getString(5)+"</td>");
out.print("<td >"+rs.getString(6)+"</td>");
out.print("<td >"+rs.getString(7)+"</td>");

out.print("</tr>") ;
}
out.print("</table>");
%>
</body>

javabean代码::::::
package test;
import java.sql.*;
import java.io.*;
public class QueryBean
{
public String query_statement; /*定义sql语句*/
public String param[]; /*查询条件*/
public ResultSet result=null; /*查询结果*/
public Connection conn;
//设置构造函数

///数据库连接
public QueryBean()throws Exception{

this.setConnection("com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://10.0.0.31:1433;DatabaseName=testDB","sa","sa");
System.out.print("---------设置构造函数--------------");
}
//设置查询参数
public void setParam(String[] param)
{
this.param=param;
}
//设置SQL查询语句
public void setQuerystatement(String query_statement)
{
this.query_statement=query_statement;
}
//设置连接参数
public void setConnection(String driverName,String jdbcURL,String username,String passwd) throws Exception
{
Connection conn1;
Class.forName(driverName);
conn1=DriverManager.getConnection(jdbcURL,username,passwd);
conn1.setAutoCommit(false);
this.conn = conn1;
}
/*获取查询结果*/
public ResultSet getResult()
{
try
{
PreparedStatement select_stm=conn.prepareStatement(query_statement,java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
if (param!=null)
for(int i=0;i select_stm.setString(i+1,param[i]);
result=select_stm.executeQuery();
}catch(Exception e){System.out.println(e);}
return result;
}
/*对数据库进行增加记录操作*/
public void insertRecord() throws SQLException,java.io.UnsupportedEncodingException
{
try
{
PreparedStatement insert_stm=conn.prepareStatement(query_statement);
if (param!=null)
for(int i=0;i insert_stm.setString(i+1,param[i]);
insert_stm.executeUpdate();
insert_stm.close();
conn.commit();
}
catch(Exception e)
{
System.out.println(e);
conn.rollback();
}
}
/*对数据记录进行更新操作*/
public void updateRecord() throws SQLException,java.io.UnsupportedEncodingException
{
try
{
PreparedStatement update_stm=conn.prepareStatement(query_statement);
if (param!=null)
for (int i=0;i update_stm.setString(i+1,param[i]);
update_stm.executeUpdate();
update_stm.close();
conn.commit();
}
catch(Exception e)
{
System.out.println(e);
conn.rollback();
}
}
/*删除数据记录*/
public void deleteRecord() throws SQLException,java.io.UnsupportedEncodingException
{
try
{
PreparedStatement delete_stm=conn.prepareStatement(query_statement);
if (param!=null)
for (int i=0;i delete_stm.setString(i+1,param[i]);
delete_stm.executeUpdate();
delete_stm.close();
conn.commit();
}
catch(Exception e)
{
System.out.println(e);
conn.rollback();
}
}
}

这个本身就是能够使用的,我不想 连接和增加操作 都连接一次数据库 ,请会的 能帮忙更改一下 ,不希望提建议,是实实在在的(能够使用)代码
我的问题可能很简单,但是我到现在也没有看到我的问题能够很好的一个解决。我希望能解决,因为我真是不会,很多也不是很明白。



楼主还是用数据源吧,
在Tomcat下设置数据源,然后在程序中获得该数据源。
网上设置数据源的代码N多,拿来粘过来就可以用了。



我不想这样 因为我不能使用Tomcat 需要使用jboss的
对这些东西的关系我还没有屡顺呢,急还不会 ,靠大家帮下忙了


我现在 这样的错误提示是?::::
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]将
截断字符串或二进制数据。
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a
cloned connection while in manual transaction mode.
---------数据连接成功--------------
---------设置构造函数--------------
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]将
截断字符串或二进制数据。
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a
cloned connection while in manual transaction mode.


???????????????
javabean的代码是
package test;
import java.sql.*;
import java.io.*;
public class QueryBean
{
//public String query_statement; /*定义sql语句*/
public String param[]; /*查询条件*/
public ResultSet result=null; /*查询结果*/
public Connection conn;
//设置构造函数

///数据库连接
public QueryBean() throws Exception{

this.setConnection("com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://10.0.0.31:1433;DatabaseName=testDB;SelectMethod=Cursor;","sa","sa");
System.out.println("---------设置构造函数--------------");
}
//设置查询参数
public void setParam(String[] param)
{
this.param=param;
}
//设置SQL查询语句
//public void setQuerystatement(String query_statement)
//{
//System.out.println(query_statement);
// this.query_statement=query_statement;
// System.out.println("---------传入sql语句--------------");
//}
//设置连接参数
public void setConnection(String driverName,String jdbcURL,String username,String passwd) throws Exception
{
Connection conn1;
Class.forName(driverName);
// conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://"+p.getProperty("dbserver")+":1433;DatabaseName="+p.getProperty("dbname")+";charset=GB2312",p.getProperty("user"),p.getProperty("password"));
conn1=DriverManager.getConnection(jdbcURL,username,passwd);
////
// Stm = conn.createStatement();
////
conn1.setAutoCommit(false);
this.conn = conn1;
System.out.println("---------数据连接成功--------------");
}
/*获取查询结果*/
public ResultSet getResult(String query_statement)
{
try
{
PreparedStatement select_stm=conn.prepareStatement(query_statement,java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
if (param!=null)
for(int i=0;i select_stm.setString(i+1,param[i]);
result=select_stm.executeQuery();
}catch(Exception e){System.out.println(e);}
return result;
}
/*对数据库进行增加记录操作*/
public void insertRecord(String query_statement) throws SQLException,java.io.UnsupportedEncodingException
{
try
{

PreparedStatement insert_stm=conn.prepareStatement(query_statement);
if (param!=null)
for(int i=0;i insert_stm.setString(i+1,param[i]);
insert_stm.executeUpdate();
insert_stm.close();
conn.commit();
System.out.println("数据插入成功");
}
catch(Exception e)
{
System.out.println(e);
conn.rollback();
}
}
/*对数据记录进行更新操作*/
public void updateRecord(String query_statement) throws SQLException,java.io.UnsupportedEncodingException
{
try
{
//System.out.println(query_statement);
PreparedStatement update_stm=conn.prepareStatement(query_statement);
if (param!=null)
for (int i=0;i update_stm.setString(i+1,param[i]);
update_stm.executeUpdate();
update_stm.close();
conn.commit();
System.out.println("数据修改成功");
}
catch(Exception e)
{
System.out.println(e);
conn.rollback();
}
}
/*删除数据记录*/
public void deleteRecord(String query_statement) throws SQLException,java.io.UnsupportedEncodingException
{
try
{
//System.out.println(query_statement);
PreparedStatement delete_stm=conn.prepareStatement(query_statement);
if (param!=null)
for (int i=0;i delete_stm.setString(i+1,param[i]);
delete_stm.executeUpdate();
delete_stm.close();
conn.commit();
System.out.println("数据删除成功");
}
catch(Exception e)
{
System.out.println(e);
conn.rollback();
}
}
}
jsp的代码是

<%@ page language="java" contentType="text/html;charset=gb2312"
import="java.sql.*"
import="java.io.*"
import="java.util.*"
import="javax.sql.*"
import="javax.naming.*"
import="java.text.*"
import="java.lang.*"
%>
<%
String course="rtyrty2222rty";
String school="4444";
String studydate="sssssssss";
String rule="gggggggggg";
int strNo=2;
//String insertstringSqlString="insert into FIXDATA(SITE_ID,SAMPLING_DATETIME,ACTUAL_VALUE,ALTERANT_VALUE)values("+course+","+school+","+studydate+","+rule+")";
// String updatestringSqlString="update FIXDATA set SITE_ID = '"+course+"',SAMPLING_DATETIME = '"+school+"' where id = "+strNo+" ";
String insertstringSqlString="insert into FIXDATA(SITE_ID,SAMPLING_DATETIME,ACTUAL_VALUE,ALTERANT_VALUE)values('"+course+"','"+school+"','"+studydate+"','"+rule+"')";
String stringSqlString="SELECT * FROM FIXDATA";
//
// query.setQuerystatement(insertstringSqlString);
query.insertRecord(insertstringSqlString) ;


//query.setQuerystatement("SELECT * FROM FIXDATA");
ResultSet rs=query.getResult(stringSqlString);
%>

<head>

无标题文档
</head>

<body>
<%//显示查询结果
out.print("<table Border>");
out.print("<tr><td colspan=8 align=center>用QueryBean查询得到的用户数据</td></tr>");
out.print("<tr>");
out.print("<td width=100 >"+"用户ID号");
out.print("<td width=50 >"+"用户名");
out.print("<td width=100>"+"用户真实姓名");
out.print("<td width=50>"+"年龄");
out.print("<td width=50>"+"性别");
out.print("<td width=100>"+"联系地址");
out.print("<td width=100>"+"联系电话");
out.print("</tr>");
while(rs.next())
{ out.print("<tr>");
out.print("<td >"+rs.getString(1)+"</td>");
out.print("<td >"+rs.getString(2)+"</td>");
out.print("<td >"+rs.getString(3)+"</td>");
out.print("<td >"+rs.getString(4)+"</td>");
out.print("<td >"+rs.getString(5)+"</td>");
out.print("<td >"+rs.getString(6)+"</td>");
out.print("<td >"+rs.getString(7)+"</td>");

out.print("</tr>") ;
}
out.print("</table>");
%>

</body>



请高人指点




java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]将
截断字符串或二进制数据。
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a
cloned connection while in manual transaction mode.

一/ 提交的数据的长度超过了数据库中字段的长度

二、你别connection里面的提交事务


特别感谢 datalover(白发始立发奋志)
你说的“提交的数据的长度超过了数据库中字段的长度” 是对的,
”你别connection里面的提交事务“
这个不是很明白,一会我查询下


特别的感谢你了。我把最终代码写出来 ,供和我一样的人查询
第一建表//
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FIXDATA]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[FIXDATA]
GO

CREATE TABLE [dbo].[FIXDATA] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[SITE_ID] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[SAMPLING_DATETIME] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[ACTUAL_VALUE] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[ALTERANT_VALUE] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[FLAG] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[AREA_ID] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[ATTACH_ID] [char] (20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
QueryBean.java的代码::::
package test;
import java.sql.*;
import java.io.*;
public class QueryBean
{
//public String query_statement; /*定义sql语句*/
public String param[]; /*查询条件*/
public ResultSet result=null; /*查询结果*/
public Connection conn;
//设置构造函数

///数据库连接
public QueryBean() throws Exception{

this.setConnection("com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://10.0.0.31:1433;DatabaseName=testDB;SelectMethod=Cursor","sa","sa");
System.out.println("---------设置构造函数--------------");
}
//设置查询参数
public void setParam(String[] param)
{
this.param=param;
}
//设置SQL查询语句
//public void setQuerystatement(String query_statement)
//{
//System.out.println(query_statement);
// this.query_statement=query_statement;
// System.out.println("---------传入sql语句--------------");
//}
//设置连接参数
public void setConnection(String driverName,String jdbcURL,String username,String passwd) throws Exception
{
Connection conn1;
Class.forName(driverName);
conn1=DriverManager.getConnection(jdbcURL,username,passwd);
conn1.setAutoCommit(false);
this.conn = conn1;
System.out.println("---------数据连接成功--------------");
}
/*获取查询结果*/
public ResultSet getResult(String query_statement)
{
try
{
PreparedStatement select_stm=conn.prepareStatement(query_statement,java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
if (param!=null)
for(int i=0;i select_stm.setString(i+1,param[i]);
result=select_stm.executeQuery();
}catch(Exception e){System.out.println(e);}
return result;
}
/*对数据库进行增加记录操作*/
public void insertRecord(String query_statement) throws SQLException,java.io.UnsupportedEncodingException
{
try
{

PreparedStatement insert_stm=conn.prepareStatement(query_statement);
if (param!=null)
for(int i=0;i insert_stm.setString(i+1,param[i]);
insert_stm.executeUpdate();
insert_stm.close();
conn.commit();
System.out.println("数据插入成功");
}
catch(Exception e)
{
System.out.println(e);
conn.rollback();
}
}
/*对数据记录进行更新操作*/
public void updateRecord(String query_statement) throws SQLException,java.io.UnsupportedEncodingException
{
try
{
//System.out.println(query_statement);
PreparedStatement update_stm=conn.prepareStatement(query_statement);
if (param!=null)
for (int i=0;i update_stm.setString(i+1,param[i]);
update_stm.executeUpdate();
update_stm.close();
conn.commit();
System.out.println("数据修改成功");
}
catch(Exception e)
{
System.out.println(e);
conn.rollback();
}
}
/*删除数据记录*/
public void deleteRecord(String query_statement) throws SQLException,java.io.UnsupportedEncodingException
{
try
{
//System.out.println(query_statement);
PreparedStatement delete_stm=conn.prepareStatement(query_statement);
if (param!=null)
for (int i=0;i delete_stm.setString(i+1,param[i]);
delete_stm.executeUpdate();
delete_stm.close();
conn.commit();
System.out.println("数据删除成功");
}
catch(Exception e)
{
System.out.println(e);
conn.rollback();
}
}
}
list.jsp的代码

<%@ page language="java" contentType="text/html;charset=gb2312"
import="java.sql.*"
import="java.io.*"
import="java.util.*"
import="javax.sql.*"
import="javax.naming.*"
import="java.text.*"
import="java.lang.*"
%>
<%
String course="rtyrty2222rty";
String school="4444";
String studydate="sssssssss";
String rule="gggggggggg";
int strNo=2;
//String insertstringSqlString="insert into FIXDATA(SITE_ID,SAMPLING_DATETIME,ACTUAL_VALUE,ALTERANT_VALUE)values("+course+","+school+","+studydate+","+rule+")";
String updatestringSqlString="update FIXDATA set SITE_ID = '"+course+"',SAMPLING_DATETIME = '"+school+"' where id = "+strNo+" ";
String insertstringSqlString="insert into FIXDATA(SITE_ID,SAMPLING_DATETIME,ACTUAL_VALUE,ALTERANT_VALUE)values('"+course+"','"+school+"','"+studydate+"','"+rule+"')";
String stringSqlString="SELECT * FROM FIXDATA";
//
query.insertRecord(insertstringSqlString) ;
// query.setQuerystatement(insertstringSqlString);
query.updateRecord(updatestringSqlString) ;


//query.setQuerystatement("SELECT * FROM FIXDATA");
ResultSet rs=query.getResult(stringSqlString);
%>

<head>

无标题文档
</head>

<body>
<%//显示查询结果
out.print("<table Border>");
out.print("<tr><td colspan=8 align=center>用QueryBean查询得到的用户数据</td></tr>");
out.print("<tr>");
out.print("<td width=100 >"+"用户ID号");
out.print("<td width=50 >"+"用户名");
out.print("<td width=100>"+"用户真实姓名");
out.print("<td width=50>"+"年龄");
out.print("<td width=50>"+"性别");
out.print("<td width=100>"+"联系地址");
out.print("<td width=100>"+"联系电话");
out.print("</tr>");
while(rs.next())
{ out.print("<tr>");
out.print("<td >"+rs.getString(1)+"</td>");
out.print("<td >"+rs.getString(2)+"</td>");
out.print("<td >"+rs.getString(3)+"</td>");
out.print("<td >"+rs.getString(4)+"</td>");
out.print("<td >"+rs.getString(5)+"</td>");
out.print("<td >"+rs.getString(6)+"</td>");
out.print("<td >"+rs.getString(7)+"</td>");

out.print("</tr>") ;
}
out.print("</table>");
%>

</body>




java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]将
截断字符串或二进制数据。

这个错误是因为你数据库字段的长度设置短了,而存的数据又太长,所以出错。


↑返回目录
前一篇: 这个jsp 和bean 大家帮忙看看 ,该怎么做。谢谢了 关于使用javabean 对数据库进行增加、修改和 删除操作的问题
后一篇: 给一段程序,关于java override 的,不理解为什么这样输出