Ich erstelle tatsächlich eine Android-Anwendung, die dynamische Formulare erstellt, in denen die Spaltenüberschriften für jede Tabelle dynamisch vom Benutzer selbst festgelegt wird, ist meine Anfrage, dass meine Anwendung Benutzer eingeben soll Spaltenkopf mit einfachen Anführungszeichen wie-Name, kein etc.I bereits diesen Code versucht, und es hilft bei derAndroid SQLite: Einfügen von einfachen Anführungszeichen
public void CreateDynamicTables(String Table_Name, List<String> arr) {
SQLiteDatabase dbs;
dbs = this.getWritableDatabase();
dbs.execSQL("DROP TABLE IF EXISTS " + Table_Name);
String query = "CREATE TABLE " + Table_Name + "(" + CID
+ " INTEGER PRIMARY KEY AUTOINCREMENT, ";
for (int i = 0; i < arr.size(); i++) {
if(i==arr.size()-1){
query+="`"+arr.get(i)+"`"+ " TEXT);";
}else{
query+="`"+arr.get(i)+"`"+ " TEXT,";
}
}
System.out.println(" Final Query :: " + query);
dbs.execSQL(query);
//ColumnNames(Table_Name);
System.out.println(" successfully created table from FILE :: " + query);
dbs = this.getWritableDatabase();
dbs.close();
}
zur Datenbank Apostroph String Einfügen Obwohl ich mit
Drei verschiedene Spaltenüberschrift
ich immer noch Probleme haben werde, während die Tabelle zu ändern bin der unter Ausnahme
android.database.sqlite.SQLiteException: duplicate column name: 'single's' (code 1): , while compiling: ALTER TABLE smp07 ADD COLUMN `'single's'` TEXT
column für Altertable bekommen: [ ‚Single des‘ Triple ",‚Doppel ‚]
Code zum ändern
if(cols.size()<arr.size()){
db=this.getWritableDatabase();
if(db.isOpen()){System.out.println("Open Database Confirmed...!!");}
System.out.println(" in add column in table");
for (int i = 0; i < arr.size(); i++) {
if(!cols.contains(arr.get(i))){
System.out.println("COlumn names are:"+arr.get(i).toString());
System.out.println(" ADD column Alter table");
db.execSQL("ALTER TABLE "+ Table_name +" ADD COLUMN "+"`"+arr.get(i)+"`"+" TEXT");
}
}
}
db.close();}
PS: Es falls geschieht, wo verschiedene Spaltenüberschriften
Wenn es eine andere sichere Art und Weise einfügen Apostroph Anweisung in SQLLite plse helfen
Ich habe beim Eingeben doppelt überprüft. Ich habe nicht versucht, denselben Namen zweimal einzugeben. –
Die Datenbank stimmt nicht mit Ihnen überein. –