Java sql插入数据库android studio无法成功运行
我刚完成作业,但它不起作用。。。 对于我们的android项目。。 我尝试在youtube上搜索如何进行sql插入。它不起作用。 就这样 myactivity 导入android。操作系统包 导入android。支持。v7。应用程序。AppCompative活动 导入android。看法看法 导入android。小装置。按钮 导入android。小装置。编辑文本 导入android。小装置。吐司Java sql插入数据库android studio无法成功运行,java,android,sql,Java,Android,Sql,我刚完成作业,但它不起作用。。。 对于我们的android项目。。 我尝试在youtube上搜索如何进行sql插入。它不起作用。 就这样 myactivity 导入android。操作系统包 导入android。支持。v7。应用程序。AppCompative活动 导入android。看法看法 导入android。小装置。按钮 导入android。小装置。编辑文本 导入android。小装置。吐司 public class MyActivity extends AppCompatActivity
public class MyActivity extends AppCompatActivity {
DataBaseHelper myDb;
EditText getname, getusername,getpassword;
Button signin;
String name,username, password;
Boolean result;
public final static String EXTRA_MESSAGE="com.example.studentpc.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
signin = (Button) findViewById(R.id.signinbtn);
signin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Clickme();
}
});
}
private void Clickme(){
myDb = new DataBaseHelper(this);
getname = (EditText)findViewById(R.id.editname);
getusername = (EditText)findViewById(R.id.editusername);
getpassword = (EditText)findViewById(R.id.editpassword);
name = getname.getText().toString();
username = getusername.getText().toString();
password = getpassword.getText().toString();
result= myDb.insertData(name,username,password);
if (result.equals(true)){
Toast.makeText(this,"Signin
Successfully",Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(this,"Signin Failed",Toast.LENGTH_SHORT).show();
}
}
}
数据库助手
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DataBaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "Student.db";
public static final String TABLE_NAME = "Student_table";
long result;
public static final String COL_1 = "ID";
public static final String COL_2 = "NAME";
public static final String COL_3 = "USERNAME";
public static final String COL_4 = "PASSWORD";
public DataBaseHelper(Context context){
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db){
db.execSQL("CREATE TABLE IF NOT EXISTS" + TABLE_NAME + "(ID INTERGER
KEY AUTOINCREMENT, NAME TEXT, USERNAME TEXT, PASSWORD PASSOWRD)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
db.execSQL("DROP TABLE IF EXISTS "+ TABLE_NAME);
}
public boolean insertData(String name, String username, String password){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_2,name);
contentValues.put(COL_3,username);
contentValues.put(COL_4,password);
result=db.insert(TABLE_NAME, null, contentValues);
db.close();
if (result==-1){
return false;
}else {
return true;
}
}
}
它表示无法运行应用程序/应用程序已停止以下是您编写的内容:
db.execSQL("CREATE TABLE IF NOT EXISTS" + TABLE_NAME + "(ID INTERGER
KEY AUTOINCREMENT, NAME TEXT, USERNAME TEXT, PASSWORD PASSOWRD)");
有很多错误。我已经改正了一些,我可以注意到
db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " (ID INTEGER
KEY AUTOINCREMENT, NAME TEXT, USERNAME TEXT, PASSWORD PASSWORD)");
另外,我不认为密码是一种数据类型。对于密码,通常使用文本类型
注意:如果可以,请使用Room持久性库。您的应用程序似乎已崩溃。顺便说一下,请把crashTnx的stacktrace贴出来。