因为我是android编程的新手,所以我创建了一个Table并将其命名为edittext中的文本。我该怎么做。搜索了问题,但没有得到任何答案。而且我的应用程序需要在运行时创建许多表。我正在使用SQLiteOpenHelper类,所以请帮助我。我已经创建了一个用于创建表的函数,并且在onCreate()/ onUpgrade函数中未编写任何内容。
public void createClass(String table){
shuddhHelper = new DbHelper(shuddhContext);
SQLiteDatabase db = shuddhHelper.getWritableDatabase();
db.execSQL("CREATE TABLE " + table + " (" +
STUDENT_NAME + " TEXT NOT NULL, " +
ROLL_NO + " TEXT PRIMARY KEY, " +
STUDENT_PHONE + " INTEGER NOT NULL, " +
PARENT_PHONE + " INTEGER NOT NULL);"
);
}
并在onClickListener中调用了这样的函数
className = "" + spinner.getSelectedItem().toString() + " "
+ sessionStart.getText().toString() + " - "
+ sessionEnd.getText().toString();
AMData classtable = new AMData(AddScreen.this);
classtable.open();
classtable.createClass(className);
classtable.close();
Intent myIntent = new Intent(AddScreen.this, NewStudent.class);
myIntent.putExtra("className", className);
startActivity(myIntent);
并在此处打开和关闭功能:
public AMData open() {
shuddhHelper = new DbHelper(shuddhContext);
shuddhDataBase = shuddhHelper.getWritableDatabase();
return this;
}
public void close(){
shuddhHelper.close();
}
您的表名错误,因为它包含空格。
尝试以下方法:
className = "" + spinner.getSelectedItem().toString() + "_"
+ sessionStart.getText().toString() + "-"
+ sessionEnd.getText().toString();
顺便说一句:如果必须包含多个字符串,最好使用StringBuilder。它使用更少的内存空间和计算时间。
String class = new StringBuilder().append(spinner.getSelectedItem().toString())
.append("_")
.append(sessionStart.getText().toString())
.append("-")
.append(sessionEnd.getText().toString())
.toString();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句