0

I have installed Blackberry JDE and Eclipse. I want to create a SqLite database for my application. Should I install SqLite separately or does it come with BlackBerry JDE?

Michael Donohue
  • 11,776
  • 5
  • 31
  • 44
vks
  • 6,649
  • 7
  • 36
  • 55

1 Answers1

2

There is nothing to install separate for sqlite database. You have to create it programmatically and have to work with it. Use this.

Creating Database in SD Card :

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()));
}
}

Creating Table in Database:

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()));
}

}

Inserting data’s in Table:

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()));
}

}

Retrieving Values from Database:

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()));
}
}
Arun Kumar Munusamy
  • 871
  • 1
  • 10
  • 28
  • Hi Arun kumar,When i do the above code i got the error :Invalid path name. Path does not contains a proper root list. See FileSystemRegistry class for details. do u know what is the issue?i mount the sd card to one folder on my system – vks Nov 22 '11 at 13:31