【发布时间】:2017-10-07 14:29:42
【问题描述】:
大家好,我一直在尝试将一些数据插入到我在 android studio 中创建的表中,代码如下
public class admin_manipulation extends AppCompatActivity {
EditText Train_name;
EditText Train_no;
EditText Train_start;
EditText Train_end;
EditText Train_seats;
Button insert;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_admin_manipulation);
insert=(Button)findViewById(R.id.add);
Train_name=(EditText)findViewById(R.id.trainname);
Train_no=(EditText)findViewById(R.id.trainno);
Train_start=(EditText)findViewById(R.id.Startlocation);
Train_end=(EditText)findViewById(R.id.terminationpoint);
Train_seats=(EditText)findViewById(R.id.seats);
}
public void addrecords(View view)
{
String str_Train_name=Train_name.getText().toString();
String str_Train_no=Train_no.getText().toString();
String str_Train_start=Train_start.getText().toString();
String str_Train_end=Train_end.getText().toString();
String str_Train_seats=Train_seats.getText().toString();
SQLiteDatabase Trains = openOrCreateDatabase("Train_list",MODE_PRIVATE,null);
Trains.execSQL("CREATE TABLE IF NOT EXISTS Train_list(Train_name VARCHAR,Train_no VARCHAR,Train_start VARCHAR, Train_end VARCHAR , Seats_Available VARCHAR );");
Toast.makeText(admin_manipulation.this, "The Add records Function has been called" , Toast.LENGTH_SHORT).show();
String temp="INSERT INTO Train_list VALUES("+str_Train_name+","+str_Train_no+","+str_Train_start+","+str_Train_end+","+str_Train_seats+");";
Toast.makeText(admin_manipulation.this,temp, Toast.LENGTH_LONG).show();
Trains.execSQL(temp);
}
每当我调用此活动时,我都会收到错误消息
unfortunately db has stopped
(db 是应用程序的名称)
所以我决定注释掉上面写着
的行Trains.execSQL(temp);
我发现该活动的执行没有任何问题,因此应用程序没有崩溃,所以我决定敬酒插入查询,看看它是否有任何问题。
据我所知,只要我包含它看起来还可以购买
Trains.execSQL(temp);
在我的代码中,应用程序崩溃(temp 包含我刚刚烤过的查询)
任何帮助将不胜感激。
【问题讨论】:
-
你能在更小的范围内重现问题吗?例如。写几行纯 SQLite/MySQL 语法(顺便说一下是哪一个?为什么你都标记了?),这会导致同样的问题,而不允许额外的编程语言妨碍。