用黑莓JDE安装SqLite

问题描述:

我安装了黑莓JDE和Eclipse。我想为我的应用程序创建一个SqLite数据库。我应该单独安装SqLite还是附带BlackBerry JDE?用黑莓JDE安装SqLite

对于sqlite数据库,没有什么可以单独安装的。您必须以编程方式创建它,并且必须使用它。用这个。

创建在SD卡数据库:

Public void CreateDatabase() 
{ 
Database d; 

try 
{ 
URI myURI = URI.create("file:///SDCard/Databases/" +"Test.db"); 
d = DatabaseFactory.create(myURI); 
d.close(); 
add(new RichTextField("DB created successfully")); 
} 
catch (Exception e) 
{ 
System.out.println(e.getMessage()); 
e.printStackTrace(); 
add(new RichTextField("Error: "+e.toString())); 
} 
} 

在数据库中创建表:

Public void CreateTable() 
{ 
Database d; 
try 
{ 
URI myURI = URI.create("file:///SDCard/Databases/"+"Test.db"); 
d = DatabaseFactory.open(myURI); 
Statement st = d.createStatement("CREATE TABLE 'testtable' (" +"'id' INTEGER, " +"'name' TEXT "); 

st.prepare(); 
st.execute(); 
st.close(); 
d.close(); 
add(new RichTextField("Table created successfully")); 
} 
catch (Exception e) 
{ 
System.out.println(e.getMessage()); 
e.printStackTrace(); 
add(new RichTextField("Error: "+e.toString())); 
} 

} 

插入数据的表:

Public void InsertData() 
{ 
Database d; 
try 
{ 
URI myURI = URI.create("file:///SDCard/Databases/" +"Test.db"); 
d = DatabaseFactory.open(myURI); 

Statement st = d.createStatement("INSERT INTO testtable(id,name) " + "VALUES (1,’Arun’)"); 
st.prepare(); 
st.execute(); 
st.close(); 
d.close(); 
add(new RichTextField("Values Inserted")); 
} 
catch (Exception e) 
{ 
System.out.println(e.getMessage()); 
e.printStackTrace(); 
add(new RichTextField("Error: "+e.toString())); 
} 

} 
从数据库个

检索值:

Public void RetriveValues() 
{ 
Database d; 

try 
{ 
URI myURI = URI.create("file:///SDCard/Databases/" +"Test.db"); 
d = DatabaseFactory.open(myURI); 
Statement st = d.createStatement("SELECT id,name FROM testtable"); 
st.prepare(); 
net.rim.device.api.database.Cursor c = st.getCursor(); 

Row r; 
int i = 0; 
while(c.next()) 
{ 
r = c.getRow(); 
i++; 
add(new RichTextField(i + ". ID = " + r.getInteger(0) 
+ " , " 
+". Name = " + r.getString(1))); 
} 
if (i==0) 
{ 
add(new RichTextField("No data in the table.")); 
} 
st.close(); 
d.close(); 
} 
catch (Exception e) 
{ 
System.out.println(e.getMessage()); 
e.printStackTrace(); 
add(new RichTextField("Error: "+e.toString())); 
} 
} 
+0

感谢您详细的答复 – vks

+0

@vks:欢迎您 –

+0

嗨阿伦·库马尔,当我做上面的代码中,我得到了错误:无效的路径名。路径不包含正确的根目录。有关详细信息,请参阅FileSystemRegistry类。你知道什么是问题?我将SD卡安装到我的系统上的一个文件夹中 – vks