java.sql.SQLException: Impossible d'exécuter insérer stmt sur l'objet
J'ai essayé d'insérer un enregistrement dans la base de données, mais sa ne fonctionne pas sous Android, même si je l'ai fait avant. C'est la première fois que je travaille avec plusieurs tables dans ORMLite.
C'est ce que je suis en train de faire:
Le stockage des données de XML dans un modèle
Ensuite, essayez d'insérer les données à partir du modèle.
Base de données: 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;
}
Je ne peux pas voir où ai-je mal tourné. Quelqu'un s'il vous plaît aider!!!
Ici est la trace de la pile(Journal de Chat Obtenus):
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)
Stacktrace s'il vous plaît...
J'ai ajouté la trace de la pile. Mais je suis entrain de créer DBHelper classe pour chaque table. Aussi, avant de tirer cette question je suis de l'interrogation sur la table de la vue, mais comme aucun des enregistrements présents dans la table de la vue que je ne reçois pas tous les enregistrements à partir de là. Plus tard, je suis de l'interrogation sur ce TBDriverInfo table.
Quelqu'un s'il vous plaît aider... c'est urgent
Ici, les gens sont de vous aider gratuitement, tandis que ils ont aussi des trucs à faire, donc s'il vous plaît évitez de "C'est urgent" commentaires. Je ne vois pas d'exception dans votre stacktrace. Post le stacktrace de la SQLException.
J'ai ajouté la trace de la pile. Mais je suis entrain de créer DBHelper classe pour chaque table. Aussi, avant de tirer cette question je suis de l'interrogation sur la table de la vue, mais comme aucun des enregistrements présents dans la table de la vue que je ne reçois pas tous les enregistrements à partir de là. Plus tard, je suis de l'interrogation sur ce TBDriverInfo table.
Quelqu'un s'il vous plaît aider... c'est urgent
Ici, les gens sont de vous aider gratuitement, tandis que ils ont aussi des trucs à faire, donc s'il vous plaît évitez de "C'est urgent" commentaires. Je ne vois pas d'exception dans votre stacktrace. Post le stacktrace de la SQLException.
OriginalL'auteur Tejaswi Parande | 2013-01-28
Vous devez vous connecter pour publier un commentaire.
Me semble que vous êtes pas la création de la table pour
tbdriverinfobo
.Pouvez-vous montrer votre
onCreate()
méthode dans l'aide? Est-ce que votre application de base de données et vous avez ajouté ce tableau par la suite? Avez-vous besoin pour augmenter votre base de données numéro de version?OriginalL'auteur Gray
Vous recevez ce message, car vous avez créé votre base de données et des tables
avant que la nouvelle table que vous souhaitez
et ORMLite de la bibliothèque est en train de lancer une exception, comme "ne pouvaient pas trouver de table tbDriverInfoBO...." quelque chose comme ça.. Donc, vous devez désinstaller votre application mobile à partir de votre téléphone et ensuite, vous devez écrire toutes les classe de la table à la méthode onCreate comme le code ci-dessous...
après l'ajout de toutes les tables de classe, vous pouvez ajouter des données de vos tables locales...
J'espère que ma réponse vous aide à quelqu'un... bon codage
OriginalL'auteur Semih Erkaraca