2017-11-23 1 views
0

이미 사용 중이며 사용중인 안드로이드 응용 프로그램 (cordova로 작성)이 있습니다. 일부 데이터가 장치 데이터베이스에 저장됩니다. 데이터베이스의 테이블 중 하나에 추가 열을 필요로하는 업데이트를해야합니다. 그 테이블에 의존하는 다른 함수를 실행하기 전에 새 열을 추가하려고하는 함수를 만들었으므로 앱 저장소를 지울 필요없이 새 열을 추가하고 싶습니다. 여기에 변경 코드의 코드가 있습니다.websql을 사용하여 기존 테이블에 새 열을 추가하는 방법

var alterEntryTable = function() 
{ 
    qObj = $q.defer(); 

    dbService.db.transaction(function(tx) { 

     tx.executeSql(
      'ALTER TABLE entry ADD created_at TIMESTAMP ', 
      [], 
      function (tx, rss) { 
       qObj.resolve({error: false}); 
      }, function (tx, rss) { 
       qObj.resolve({ error: true}); 
      } 
     ); 
    }); 

    return qObj.promise; 
}; 

문제는 항상 오류를 반환한다는 것입니다. 누군가 도와주세요. 감사합니다.

+1

오류 메시지를 게시하십시오. – lin

+0

그냥 sqlError 개체를 제공합니다. 콘솔에 표시하기 위해 개체 내부의 세부 정보에 액세스하는 방법을 모릅니다. –

답변

0

오류 처리기의 두 번째 매개 변수는 SQLError 개체입니다. message 속성을 로깅하여 오류에 대한 세부 정보를 얻을 수 있습니다.

function (tx, rss) { 
    console.log(rss.message); 
    qObj.resolve({ error: true}); 
} 

오류 메시지가 도움이 되었습니까? 나는 당신이 당신의 SQL에 COLUMN을 잃어 버렸다고 생각한다. ALTER TABLE entry ADD COLUMN created_at TIMESTAMP이어야합니다.

또한 timestampdatatype in SQLite 아니지만, 거기를 유지하기 위해 무해한이다.

+0

다른 데이터 형식을 사용할 때도 동일한 문제가 발생합니다 –

+0

오류가 무엇을 말합니까? 로그하는 방법에 대한 세부 사항을 추가했습니다. – connor

관련 문제