天天看點

Java導入sql失敗,插入資料庫錯誤

目前位置:我的異常網» 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(整型) 型的。你給的值是 "" ,這是個字元串,類型不比對。

文章評論