Readdy Write  
0,00 €
Your View Money
Views: Count
Self 20% 0
Your Content 60% 0

Users by Links 0
u1*(Content+Views) 10% 0
Follow-Follower 0
s2*(Income) 5% 0

Count
Followers 0
Login Register as User

SQLite: Wie bekommt man die neue ID einer Tabelle

01.10.2018 (👁9733)

SQLite: new ID bei Insert Add

Wie bekommt man die neue ID beim Einfügen eines Datensatzes in SQLite

Lösung:

Der Rückgabewert eine Sqlite.Insert Anweisung ergibt immer automisch die neue ID einer Tabelle, sofern eine Integer-Autoimcrement Spalte vorhanden ist.

Bei einem Fehler wird eine -1 ausgegeben als

long newID = db.insert("tbl_Notes", null, values);

 

Bei einer Taellen-Struktur, welche ein eindeutiges ID Feld aufweist.

Hierzu muss beim Create der SQLite Tabelle Integer Primary Key Autoincrement angegeben werden

CREATE TABLE tbl_Notes (  IDNote INTEGER PRIMARY KEY AUTOINCREMENT ..

 

 

public long add_Note(String sTitle, String sText, Date dtNoteDay) {
   
//--------< add_Note() >--------
    //*add a recordset to the tbl_Notes Table
    //< getDB >
   
SQLiteDatabase db = this.getWritableDatabase();
   
//</ getDB >

    //< set_Values >
   
SimpleDateFormat fmtDate = new SimpleDateFormat("YYYYMMdd");
    String sDate_Note = fmtDate.format(dtNoteDay);
    String sDate_Now = fmtDate.format(
new Date());

    ContentValues values =
new ContentValues();
    values.put(
"Title", sTitle);
   
//values.put("Text", sText);
    //values.put("dtDay", sDate_Note);
    //values.put("dtEdit", sDate_Now);
    //</ set_Values >

    //< add >
   
long newID = db.insert("tbl_Notes", null, values);
   
//</ add >

    //< out >
   
if (newID == -1)
    {
       
//*SQLite Error on Insert: -1
       
return -1;
    }
   
else
   
{
       
//*return value is new ID
       
return newID;
    }
   
//</ out >
    //--------</ add_Note() >--------
}

 

 

 

 

Datenbank auf Android

Im Localhost->sqlite

Datenbank in SQLite auf Android: http://192.168.178.23:8080/# (Android Debug Database)

IDNote

Title

Text

dtDay

dtEdit

5

dfffcName

2018-09-28 17:33:52

11

not online

2018-09-28 18:03:20

12

new Data

2018-09-28 18:05:12

13

924Name

2018-10-01 07:23:11

Dazugehörende Tabellenstruktur:

@Override
public void onCreate(SQLiteDatabase db) {
   
//--------< onCreate() >--------
    //*Create Tables
   
String createTable = "CREATE TABLE tbl_Notes " +
           
"(  IDNote INTEGER PRIMARY KEY AUTOINCREMENT " +
           
" , Title TEXT " +      //*Note of type TEXT
           
" , Text TEXT " +       //*Note of type TEXT
           
" , dtDay DATETIME " +
           
" , dtEdit DATETIME DEFAULT CURRENT_TIMESTAMP " +
           
")"
           
;
    db.execSQL(createTable);
   
//--------</ onCreate() >--------
}