关于网友提出的“ (菜鸟提问)大侠们,帮我看一下错在哪里 好么? 千恩万谢了”问题疑问,本网通过在网上对“ (菜鸟提问)大侠们,帮我看一下错在哪里 好么? 千恩万谢了”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: (菜鸟提问)大侠们,帮我看一下错在哪里 好么? 千恩万谢了
描述: <%@page contentType = "text/html;charset=GB2312"%>
<%@page import = "java.sql.*,java.util.*"%>
<%
String strSub = request.getParameter("submit1"); //取得指令按钮传出的数据
if(strSub == null) //判断是否取得指令按钮传出的数据
%>
<%
else
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //载入驱动程式类别
Connection con = DriverManager.getConnection("jdbc:odbc:students"); //建立数据库连线
//建立Statement变量, 并设定记录指标类型为可前後移动
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
String strSQL;
if (session.getAttribute("Done") != "yes") //判断Done变数的值, 避免使用“重新整理”按钮重复添加数据
{
//建立新增数据至数据库的SQL叙述
strSQL = "INSERT INTO students1(name,jg, bday,mz,zzmm,rxday,lx,zw,jl,jjxx,py " +
"lx) Values ('" +
ISOtoGb2312.convert( request.getParameter("ID")) + "','" +
ISOtoGb2312.convert( request.getParameter("xb")) + "','" +
ISOtoGb2312.convert( request.getParameter("jg")) + "','" +
ISOtoGb2312.convert( request.getParameter("bday")) + "'," +
ISOtoGb2312.convert( request.getParameter("mz")) + "," +
ISOtoGb2312.convert( request.getParameter("zzmm")) + ",'" +
ISOtoGb2312.convert( request.getParameter("rxday")) + "'"+
ISOtoGb2312.convert( request.getParameter("lx"))+"'"+
ISOtoGb2312.convert( request.getParameter("class")+"'"+
ISOtoGb2312.convert( request.getParameter("zw")+"'"+
ISOtoGb2312.convert( request.getParameter("jl")+"'"+
ISOtoGb2312.convert( request.getParameter("jjxx")+"'"+
ISOtoGb2312.convert( request.getParameter("py")+"')";
stmt.executeUpdate(strSQL); //利用SQL叙述将数据新增至数据库
}
session.setAttribute("Done", "yes"); //将session变量中的Done设为yes时, 避免使用“重新整理”按钮重复添加数据
%>
解决方案1: //如果是Tomcat,需要转换传输中的汉字
//以下为转换函数
//pStr---要转换的字符串
//bChanged---是否为Tomcat
//该函数通用性强
public String changeByte(String pStr,boolean bChanged)
{
String sReturn;
if (pStr==null) return null;
if(bChanged)
{
try{
byte[] ba = new byte[pStr.length()];
pStr.getBytes(0,pStr.length(),ba,0);
sReturn = new String(ba,"GBK");
}catch(UnsupportedEncodingException e)
{
return pStr;
}
}
else
{
sReturn=pStr;
}
return sReturn;
}
一般来说往数据库插入或UPDATE的时候需要转换编码,而读取的时候不需要转换
以上介绍了“ (菜鸟提问)大侠们,帮我看一下错在哪里 好么? 千恩万谢了”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2581956.html
相关图片
相关文章