2015-12-11 30 views
0

我正在创建一个应用程序,使用Access数据库。我必须在数据库中插入一些值,但是我得到一个错误“数据异常:投射的无效字符值”。我无法弄清楚什么是错的。这里是代码:如何在java中解决“数据异常:投射无效字符值”?

String sql = "INSERT INTO PATIENT (MRNumber, Address, Age, Gender, Contact, CNIC, Consultant, PatientName, FatherName) " + "Values ('ABC124', 'Billi', 'Billa', 'Rafa', 21, 'Female', '123', '34343', 'Baba')"; 
    cnnct.connect(); 
    try { 
     cnnct.rs = cnnct.statement.executeQuery(sql); 
     //while (cnnct.rs.next()) { 

     //} 
    } 
    catch (Exception e) { 
     System.out.println(e); 
    } 

连接是一个类,我创建了ResultSet,语句和连接对象。我使用Connect类的对象在这里调用它们。

这是数据库的图像: enter image description here

回答

1

你的价值观是不同的,以您所指定的列,基本上。你试图填充:

MRNumber: 'ABC124' 
Address: 'Billi' 
Age: 'Billa' 
Gender: 'Rafa' 
Contact: 21 
CNIC: 'Female' 
Consultant: '123' 
PatientName: '34343' 
FatherName: 'Baba' 

我怀疑这是试图'Billa'转换为数字Age值是造成的即时异常......但基本上你需要以相同的顺序,以指定的列和值。

+0

谢谢你! :) – user2978059

+0

我现在得到一个nullpointerexception – user2978059

+0

@ user2978059:那么你应该阅读http://stackoverflow.com/questions/218384。我已经解决了您的直接问题 - 如果您在阅读完该问题及其答案后仍然陷入困境,则应该提出一个新问题。 –