目前位置:我的異常網» Java Web開發 » 插入資料庫錯誤
插入資料庫錯誤
www.myexceptions.net 網友分享于:2013-08-03 浏覽:6次
插入資料庫異常
往mysql裡面的表裡插資料,表裡的字段見下面定義的這一片,下面的代碼是往資料庫裡插得jsp,問題:當我在填寫所有這些字段時,沒問題,資料送出了上去再資料庫中也能找到;但是當我隻送出部分這些字段資料的時候,比如隻填寫了前7個,從fax往下就沒寫了,然後送出,代碼能走下去不報錯,但是資料庫裡面沒有剛填寫的這些部分資料,調試的時候發現這些字段都能取到值,沒填寫的也有,為“”,在myDBbean.update(sql);這出異常了:java.sql.SQLException: Incorrect integer value: '' for column 'fax' at row 1,是說無資料不能往mysql裡插嗎?(mysql裡所有字段都設定了預設值NULL)
String name,address,postid,sector,contact,telephone,mobile,
fax,email,funds,workers,researchers,scope,fields,products,income;
name=new String(request.getParameter("bname") .getBytes("ISO8859_1"),"utf-8");
address=new String(request.getParameter("address") .getBytes("ISO8859_1"),"utf-8");
postid=new String(request.getParameter("postid") .getBytes("ISO8859_1"),"utf-8");
sector=new String(request.getParameter("sector") .getBytes("ISO8859_1"),"utf-8");
contact=new String(request.getParameter("contact") .getBytes("ISO8859_1"),"utf-8");
telephone=new String(request.getParameter("telephone") .getBytes("ISO8859_1"),"utf-8");
mobile=new String(request.getParameter("mobile") .getBytes("ISO8859_1"),"utf-8");
fax=new String(request.getParameter("fax") .getBytes("ISO8859_1"),"utf-8");
email=new String(request.getParameter("email") .getBytes("ISO8859_1"),"utf-8");
funds=new String(request.getParameter("funds") .getBytes("ISO8859_1"),"utf-8");
workers=new String(request.getParameter("workers") .getBytes("ISO8859_1"),"utf-8");
researchers=new String(request.getParameter("researchers") .getBytes("ISO8859_1"),"utf-8");
scope=new String(request.getParameter("scope") .getBytes("ISO8859_1"),"utf-8");
fields=new String(request.getParameter("fields") .getBytes("ISO8859_1"),"utf-8");
products=new String(request.getParameter("products") .getBytes("ISO8859_1"),"utf-8");
income=new String(request.getParameter("income") .getBytes("ISO8859_1"),"utf-8");
String sql;
sql="insert into enterprise (name,address,postid,InnovationSector,contact,telephone,mobile,fax,email,funds,WorkerNum,ResearchersNum,scope,TechFields,products,income) values ('"+name+"','"+address+"','"+postid+"','"+sector+"','"+contact+"','"+telephone+"','"+mobile+"','"+fax+"','"+email+"','"+funds+"','"+workers+"','"+researchers+"','"+scope+"','"+fields+"','"+products+"','"+income+"')";
if(name.length()!=0&&address.length()!=0&&postid.length()!=0&&contact.length()!=0)
{
try
{
myDBbean.update(sql);
myDBbean.close();
out.print("");
}
catch(Exception e)
{
out.print(e);
out.print("資訊錯誤!");
}
}
else
{
out.print("
資訊沒有填寫或填寫不完整"+" 傳回 ");
}
%>
------解決方案--------------------
fax 是integer(整型) 型的。你給的值是 "" ,這是個字元串,類型不比對。
文章評論