2014-01-29 3 views
0

응용 유형 : 모바일. 티타늄 SDK : 최신 (3.0). 플랫폼 & 버전 : Firefox 17.0.1. 호스트 운영 체제 : Windows 7 x64. 로그 :
Firefox의 오류 콘솔에서 : TypeError : Ti.Database is undefined segment.티타늄 : Ti.Database is undefined 세그먼트

// create var for the currentWindow 
var currentWin = Ti.UI.currentWindow; 
var tableview = Titanium.UI.createTableView({ 
data:dataArray, 
searchHidden :true 
}); 
var dataArray = []; 
// set the data from the database to the array 
function setData() { 

var db = Ti.Database.open('..\products.sqlite','products'); 

var rows = db.execute('SELECT DISTINCT category FROM products'); 

// create the array 

while (rows.isValidRow()) 
{ 
dataArray.push({title:'' + rows.fieldByName('category') }); 
rows.next(); 
} 

rows.close(); 
db.close(); 

// set the array to the tableView 
tableview.setData(dataArray); 

} 
// create table view 


tableview.addEventListener('click', function(e) 
{ 

var win = Ti.UI.createWindow({ 

title:e.rowData.title 
}); 

var prodCat = e.rowData.title; 
win.prodCat = prodCat; 
Ti.UI.currentTab.open(win); 

}); 

// add the tableView to the current window 
currentWin.add(tableview); 

// call the setData function to attach the database results to the array 
setData(); 

이 문제는 어떻게 해결할 수 있습니까?

+0

데이터베이스는 처음에 어떻게 생성 되었습니까? 기존에 정의 된 데이터베이스를 통합하려고합니까? 아니면 코드에서 다른 데이터베이스를 만들었습니까? – Martin

+0

SQLite 데이터베이스 관리자로 데이터베이스를 만들었습니다. and i Titanium Developer에서 만든 Resources 폴더에 파일을 저장했습니다. –

+0

Ti.Database.install이 있어야 믿을 수있는 데이터베이스를 설치할 수 있습니다. 파이어 폭스 참고 자료를 보면 이것이 IOS 프로젝트가 아닌 웹 프로젝트인지 궁금하다. 나는 아직 그 지역을 다루지 않았다. – Martin

답변

1

모바일 웹 프로젝트에는 Ti.Database 모듈을 사용할 수 없습니다.

단순한 클라이언트 측 저장소의 경우 Ti.App.Properties을 사용할 수 있습니다. 관계형 데이터베이스가 정말로 필요한 경우 별도의 백엔드 서비스를 구현하고 Ti.Network.HTTPClient을 사용하여 액세스해야합니다.