データベースにレコードを挿入しようとしましたが、以前に行ったにもかかわらず、Androidでは機能しません。ORMLiteで複数のテーブルを操作するのはこれが初めてです。
これが私がやろうとしていることです。XMLからモデルにデータを保存する次に、モデルからデータを挿入しようとします。
使用するデータベース:SQLite ORM:ORMLite
ActivityClass
TbDriverInfoBO tbDriverInfoBO = new TbDriverInfoBO();
Document doc = XMLfunctions.XMLfromString(strResult);
NodeList nodes = doc.getElementsByTagName("root");
Element root = (Element) nodes.item(0);
jabongModel.setLoginId(XMLfunctions.getValue(root, "UserId"));
jabongModel.setPassword(XMLfunctions.getValue(root, "UserPwd"));
jabongModel.setDrsno(XMLfunctions.getValue(root, "DRSNo"));
jabongModel.setBrancode(XMLfunctions.getValue(root, "BranchCode"));
jabongModel.setLoginDate(XMLfunctions.getValue(root, "LoginDate"));
//clsDriverInfo obj = new clsDriverInfo(loginId, pswd, drsno,
/*tbDriverInfoBO.setColUserId(jabongModel.getLoginId());
tbDriverInfoBO.setColPwd(jabongModel.getPassword());
tbDriverInfoBO.setColDrs(jabongModel.getDrsno());
tbDriverInfoBO.setColBranch(jabongModel.getBrancode());*/
tbDriverInfoBO.fillBo(jabongModel);
dbHelperTbDriverInfo.addData(tbDriverInfoBO);
BOClass:
public class TbDriverInfoBO {
@DatabaseField(generatedId = true)
int id;
@DatabaseField
String colUserId;
...
// getters and setters
public TbDriverInfoBO(String colUserId, String colPwd, String colDrs, String colBranch)
{
this.colBranch = colBranch;
this.colDrs = colDrs;
this.colPwd = colPwd;
this.colUserId = colUserId;
}
public TbDriverInfoBO() {
// TODO Auto-generated constructor stub
}
public void fillBo(JabongModel jabongModel)
{
this.colBranch = jabongModel.getBrancode();
this.colDrs = jabongModel.getDrsno();
this.colPwd = jabongModel.getPassword();
this.colUserId = jabongModel.getLoginId();
//this.id = jabongModel.getId();
}
}
DBHelperClass
public int addData(TbDriverInfoBO tbDriverInfoBO) {
int i=0;
RuntimeExceptionDao<TbDriverInfoBO, String> dao = getTbDriverInfoDaO();
try{
i = dao.create(tbDriverInfoBO);
}
catch (Exception e) {
e.getStackTrace();// TODO: handle exception
}
return i;
}
どこが間違っているのかわからない。誰か助けてください!!!
スタックトレース(取得したログ猫)は次のとおりです。
01-28 15:43:46.251: D/dalvikvm(368): threadid=1: still suspended after undo (sc=1 dc=1 s=Y)
01-28 15:43:46.251: D/dalvikvm(368): GC_FOR_MALLOC freed 8148 objects / 498080 bytes in 72ms
01-28 15:43:49.514: D/dalvikvm(368): threadid=1: still suspended after undo (sc=1 dc=1 s=Y)
01-28 15:43:50.790: D/dalvikvm(368): threadid=1: still suspended after undo (sc=1 dc=1 s=Y)
01-28 15:43:50.900: I/Database(368): sqlite returned: error code = 1, msg = no such table: tbdriverinfobo
01-28 15:43:58.681: D/dalvikvm(368): threadid=1: still suspended after undo (sc=1 dc=1 s=Y)
01-28 15:44:01.956: D/dalvikvm(368): threadid=1: still suspended after undo (sc=1 dc=1 s=Y)