我一直在尋找幾個小時,我似乎無法找到我一直在尋找的答案。我想根據用戶輸入(用戶只輸入表名)創建一個表(主題表),並在該表內添加信息(如在該特定主題中註冊的學生。這是可能的我使用的是eclipse,我真的是一個新手在android編程中,請給我一些小技巧來搜索一下,或者我應該怎麼做才能做到這一點請幫助我只是要求建議/技巧/教程,可以幫助我在此先感謝對不起,我英文不好 如何從用戶輸入創建表格?
注意:這裏的主要問題是,我不知道如何從用戶輸入創建表請我需要的意見/建議。 。
我一直在尋找幾個小時,我似乎無法找到我一直在尋找的答案。我想根據用戶輸入(用戶只輸入表名)創建一個表(主題表),並在該表內添加信息(如在該特定主題中註冊的學生。這是可能的我使用的是eclipse,我真的是一個新手在android編程中,請給我一些小技巧來搜索一下,或者我應該怎麼做才能做到這一點請幫助我只是要求建議/技巧/教程,可以幫助我在此先感謝對不起,我英文不好 如何從用戶輸入創建表格?
注意:這裏的主要問題是,我不知道如何從用戶輸入創建表請我需要的意見/建議。 。
好的,我還不確定你在哪裏有問題,但是我發佈這個是因爲它太大而不能發表評論。在您當前的設置中,讓我們假設您有一個EditText
用戶將輸入新主題(例如math
)。要創建新表,您需要執行兩項操作:將數學文本插入主題表中,然後實際創建新的數學表。您需要在交易中執行此操作,以確保此操作成功或失敗(http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#beginTransaction%28%29)。首先,將數學文本插入主題表中,您將使用http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#insert%28java.lang.String,%20java.lang.String,%20android.content.ContentValues%29。然後創建新的數學表,你會這樣做:
// get the text entered by the user, also trim it for extra spaces
String newTableName = editTextInput.getText().trim();
// the entered name should consist only of characters
newTableName = newTableName.replaceAll("[^a-zA-Z]", "");
// create the new table
sqliteDatabase.execSQL("CREATE TABLE " + newTableName);
你設置數據庫的方式遠非理想。你應該避免爲每個主題表格條目創建表格(對於學生來說,我假設一個學生將參與多個課程),而應該創建一個主題表格,一個學生表格(每個表格一個唯一的ID)和一個連接它們兩個的表(也看看sqlite的外鍵)。
太好了!感謝您的想法!同時感謝您對我的數據庫設置的建議。我將對此進行更多的研究。 – nej
你知道如何在SQLite中創建表嗎? – Luksprog
是的。請原諒我是個新手。 – nej
然後我看不出你有什麼問題。你會從用戶輸入文本(從EditText或者你想要的任何輸入方法)中檢查輸入(不是所有用戶都是好人),然後用'execSQL()'調用在sqlite中創建表。 – Luksprog