gpt4 book ai didi

java - '(' , ' )', or comma expected, got ' TEXT' android studio 中的 SQLite 数据库错误

转载 作者:行者123 更新时间:2023-11-29 08:28:16 24 4
gpt4 key购买 nike

我正在 Android Studio 中开发一个 Android 应用程序,同时创建我的 SQLite 数据库。但是,我的代码遇到了错误,我查看了其他问题和答案,与问题的答案相比,我的代码看起来不应该出现错误。我在下面添加了我的数据库和实体类,但还没有创建 DBhandler 类,因为数据库还没有工作。任何帮助都会被应用

数据库类:

    package com.example.ajhillie.btc_ucs_ma.Database;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import com.example.ajhillie.btc_ucs_ma.Entities.Course;
import com.example.ajhillie.btc_ucs_ma.Entities.Staff;
import com.example.ajhillie.btc_ucs_ma.Entities.Student;

public class BTC_UCS_Database extends SQLiteOpenHelper {

private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "BTCUCSdatabase";
private Context c;

public BTC_UCS_Database(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
this.c = context;
}

@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_TABLE_STUDENTS = "CREATE TABLE " + Student.TABLE + "("
+ Student.KEY_STUDENTID + " TEXT PRIMARY KEY, "
+ Student.KEY_PASSWORD + " TEXT, "
+ Student.KEY_FIRSTNAME + " TEXT, "
+ Student.KEY_SURNAME + " TEXT, "
+ Student.KEY_ADDRESSONE + " TEXT, "
+ Student.KEY_ADDRESSTWO + " TEXT, "
+ Student.KEY_TOWNCITY + " TEXT, "
+ Student.KEY_POSTCODE + " TEXT, "
+ Student.KEY_MOBILENO + " BIGINT, "
+ Student.KEY_LANDLINENO + " BIGINT,"
+ Student.KEY_PEMAIL + " TEXT, "
+ Student.KEY_CEMAIL + " TEXT, "
+ Student.KEY_COURSEID + " TEXT, "
+ " FOREIGN KEY (KEY_COURSEID) REFERENCES " + Course.TABLE + "
(KEY_COURSEID))";

String CREATE_TABLE_STAFF = "CREATE TABLE " + Staff.TABLE + "("
+ Staff.KEY_STAFFID + " TEXT PRIMARY KEY, "
+ Staff.KEY_PASSWORD + " TEXT, "
+ Staff.KEY_FIRSTNAME + " TEXT, "
+ Staff.KEY_SURNAME + " TEXT, "
+ Staff.KEY_ADDRESSONE + " TEXT, "
+ Staff.KEY_ADDRESSTWO + " TEXT, "
+ Staff.KEY_TOWNCITY + " TEXT, "
+ Staff.KEY_POSTCODE + " TEXT, "
+ Staff.KEY_MOBILENO + " BIGINT, "
+ Staff.KEY_LANDLINENO + " BIGINT, "
+ Staff.KEY_PEMAIL + " TEXT, "
+ Staff.KEY_CEMAIL + " TEXT, "
+ Staff.KEY_COURSEID + " TEXT REFERENCES " + Course.TABLE + "
(KEY_COURSEID))";

String CREATE_TABLE_COURSES = "CREATE TABLE " + Course.TABLE + "("
+ Course.KEY_COURSEID + " TEXT PRIMARY KEY, "
+ Course.KEY_COURSENAME + " TEXT, "
+ Course.KEY_COURSEDES + " TEXT, "
+ Course.KEY_COURSECONTENTONE + " TEXT, "
+ Course.KEY_COURSECONTENTTWO + " TEXT, "
+ Course.KEY_COURSECONTENTTHREE + " TEXT, "
+ Course.KEY_COURSECONTENTFOUR + " TEXT, "
+ Course.KEY_COURSEPRICE + " TEXT, "
+ Course.KEY_COURSELENGTH + " TEXT)";

db.execSQL(CREATE_TABLE_STUDENTS);
db.execSQL(CREATE_TABLE_STAFF);
db.execSQL(CREATE_TABLE_COURSES);


}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
if (oldVersion < newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + Student.TABLE);
db.execSQL("DROP TABLE IF EXISTS " + Staff.TABLE);
db.execSQL("DROP TABLE IF EXISTS " + Course.TABLE);
onCreate(db);
}while (newVersion < oldVersion);
}
}

学生类(class):

package com.example.ajhillie.btc_ucs_ma.Entities;

import android.content.Context;
import android.widget.Toast;

public class Student {

private String StudentID;
private String Password;
private String FirstName;
private String Surname;
private String Address1;
private String Address2;
private String Town_City;
private String Postcode;
private long MobileNo;
private long LandlineNo;
private String pEmail;
private String cEmail;
private String CourseID;



public String getStudentID() {
return StudentID;
}

public void setStudentID(String studentID) {
StudentID = studentID;
}

public String getPassword() {
return Password;
}

public void setPassword(String password) {
Password = password;
}

public String getFirstName() {
return FirstName;
}

public void setFirstName(String firstName) {
FirstName = firstName;
}

public String getSurname() {
return Surname;
}

public void setSurname(String surname) {
Surname = surname;
}

public String getAddress1() {
return Address1;
}

public void setAddress1(String address1) {
Address1 = address1;
}

public String getAddress2() {
return Address2;
}

public void setAddress2(String address2) {
Address2 = address2;
}

public String getTown_City() {
return Town_City;
}

public void setTown_City(String town_City) {
Town_City = town_City;
}

public String getPostcode() {
return Postcode;
}

public void setPostcode(String postcode) {
Postcode = postcode;
}

public long getMobileNo() {
return MobileNo;
}

public void setMobileNo(long mobileNo) {
MobileNo = mobileNo;
}

public long getLandlineNo() {
return LandlineNo;
}

public void setLandlineNo(long landlineNo) {
LandlineNo = landlineNo;
}

public String getpEmail() {
return pEmail;
}

public void setpEmail(String PEmail) {
this.pEmail = PEmail;
}

public String getcEmail() {
return cEmail;
}

public void setcEmail(String CEmail) {
this.cEmail = CEmail;
}

public String getCourseID() {
return CourseID;
}

public void setCourseID(String courseID) {
CourseID = courseID;
}

public static String TABLE = "Students";

public static final String KEY_STUDENTID = "Student ID";
public static final String KEY_PASSWORD = "Student Password";
public static final String KEY_FIRSTNAME = "First Name";
public static final String KEY_SURNAME = "Surname";
public static final String KEY_ADDRESSONE = "Address Line 1";
public static final String KEY_ADDRESSTWO = "Address Line 2";
public static final String KEY_TOWNCITY = "Town or City";
public static final String KEY_POSTCODE = "Postcode";
public static final String KEY_MOBILENO = "Mobile Number";
public static final String KEY_LANDLINENO = "Home Number";
public static final String KEY_PEMAIL = "Personal Email";
public static final String KEY_CEMAIL = "College Email";
public static final String KEY_COURSEID = "Course ID";

public Student(String studentID, String password, String firstName, String
surname, String address1, String address2, String town_City, String
postcode, long mobileNo, long landlineNo, String PEmail, String CEmail,
String courseID, Context context) {

StudentID = studentID;;
Password = password;
FirstName = firstName;
Surname = surname;
Address1 = address1;
Address2 = address1;
Town_City = town_City;
Postcode = postcode;
MobileNo = mobileNo;
LandlineNo = landlineNo;
pEmail = PEmail;
cEmail = CEmail;
CourseID = courseID;

Toast.makeText(context, "Student account successfully created!!!!",
Toast.LENGTH_SHORT).show();
}

@Override
public String toString() {
return "Student{" +
"StudentID='" + StudentID + '\'' +
", Password='" + Password + '\'' +
", FirstName='" + FirstName + '\'' +
", Surname='" + Surname + '\'' +
", Address1='" + Address1 + '\'' +
", Address2='" + Address2 + '\'' +
", Town_City='" + Town_City + '\'' +
", Postcode='" + Postcode + '\'' +
", MobileNo=" + MobileNo +
", LandlineNo=" + LandlineNo +
", pEmail='" + pEmail + '\'' +
", cEmail='" + cEmail + '\'' +
", CourseID='" + CourseID + '\'' +
'}';
}
}

职员类:

package com.example.ajhillie.btc_ucs_ma.Entities;

import android.content.Context;
import android.widget.Toast;

public class Staff {


private String StaffID;
private String Username;
private String Password;
private String FirstName;
private String Surname;
private String Address1;
private String Address2;
private String Town_City;
private String Postcode;
private long MobileNo;
private long LandlineNo;
private String pEmail;
private String cEmail;
private String CourseID;

public String getStaffID() {
return StaffID;
}

public void setStafftID(String staffID) {
StaffID = staffID;
}

public String getPassword() {
return Password;
}

public void setPassword(String password) {
Password = password;
}

public String getFirstName() {
return FirstName;
}

public void setFirstName(String firstName) {
FirstName = firstName;
}

public String getSurname() {
return Surname;
}

public void setSurname(String surname) {
Surname = surname;
}

public String getAddress1() {
return Address1;
}

public void setAddress1(String address1) {
Address1 = address1;
}

public String getAddress2() {
return Address2;
}

public void setAddress2(String address2) {
Address2 = address2;
}

public String getTown_City() {
return Town_City;
}

public void setTown_City(String town_City) {
Town_City = town_City;
}

public String getPostcode() {
return Postcode;
}

public void setPostcode(String postcode) {
Postcode = postcode;
}

public long getMobileNo() {
return MobileNo;
}

public void setMobileNo(long mobileNo) {
MobileNo = mobileNo;
}

public long getLandlineNo() {
return LandlineNo;
}

public void setLandlineNo(long landlineNo) {
LandlineNo = landlineNo;
}

public String getpEmail() {
return pEmail;
}

public void setpEmail(String PEmail) {
this.pEmail = PEmail;
}

public String getcEmail() {
return cEmail;
}

public void setcEmail(String CEmail) {
this.cEmail = CEmail;
}

public String getCourseID() {
return CourseID;
}

public void setCourseID(String courseID) {
CourseID = courseID;
}

public static String TABLE = "Staff";

public static final String KEY_STAFFID = "Student ID";
public static final String KEY_PASSWORD = "Staff Password";
public static final String KEY_FIRSTNAME = "First Name";
public static final String KEY_SURNAME = "Surname";
public static final String KEY_ADDRESSONE = "Address Line 1";
public static final String KEY_ADDRESSTWO = "Address Line 2";
public static final String KEY_TOWNCITY = "Town or City";
public static final String KEY_POSTCODE = "Postcode";
public static final String KEY_MOBILENO = "Mobile Number";
public static final String KEY_LANDLINENO = "Home Number";
public static final String KEY_PEMAIL = "Personal Email";
public static final String KEY_CEMAIL = "College Email";
public static final String KEY_COURSEID = "Course ID";

public Staff(String staffID, String password, String firstName, String
surname, String address1, String address2, String town_City, String
postcode, long mobileNo, long landlineNo, String PEmail, String CEmail,
String courseID, Context context) {

StaffID = staffID;
Password = password;
FirstName = firstName;
Surname = surname;
Address1 = address1;
Address2 = address1;
Town_City = town_City;
Postcode = postcode;
MobileNo = mobileNo;
LandlineNo = landlineNo;
pEmail = PEmail;
cEmail = CEmail;
CourseID = courseID;

Toast.makeText(context, "Staff account successfully created!!!!",
Toast.LENGTH_SHORT).show();
}

@Override
public String toString() {
return "Staff{" +
"StaffID='" + StaffID + '\'' +
", Password='" + Password + '\'' +
", FirstName='" + FirstName + '\'' +
", Surname='" + Surname + '\'' +
", Address1='" + Address1 + '\'' +
", Address2='" + Address2 + '\'' +
", Town_City='" + Town_City + '\'' +
", Postcode='" + Postcode + '\'' +
", MobileNo=" + MobileNo +
", LandlineNo=" + LandlineNo +
", pEmail='" + pEmail + '\'' +
", cEmail='" + cEmail + '\'' +
", CourseID='" + CourseID + '\'' +
'}';
}
}

类(class)类别:

package com.example.ajhillie.btc_ucs_ma.Entities;

import android.content.Context;
import android.widget.Toast;

public class Course {

private String CourseID;
private String CourseName;
private String CourseDes;
private String CourseContent1;
private String CourseContent2;
private String CourseContent3;
private String CourseContent4;
private String CoursePrice;
private String CourseLength;

public String getCourseID() {
return CourseID;
}

public void setCourseID(String courseID) {
CourseID = courseID;
}

public String getCourseName() {
return CourseName;
}

public void setCourseName(String courseName) {
CourseName = courseName;
}

public String getCourseDes() {
return CourseDes;
}

public void setCourseDes(String courseDes) {
CourseDes = courseDes;
}

public String getCourseContent1() {
return CourseContent1;
}

public void setCourseContent1(String courseContent1) {
CourseContent1 = courseContent1;
}

public String getCourseContent2() {
return CourseContent2;
}

public void setCourseContent2(String courseContent2) {
CourseContent2 = courseContent2;
}

public String getCourseContent3() {
return CourseContent3;
}

public void setCourseContent3(String courseContent3) {
CourseContent3 = courseContent3;
}

public String getCourseContent4() {
return CourseContent4;
}

public void setCourseContent4(String courseContent4) {
CourseContent4 = courseContent4;
}

public String getCoursePrice() {
return CoursePrice;
}

public void setCoursePrice(String coursePrice) {
CoursePrice = coursePrice;
}

public String getCourseLength() {
return CourseLength;
}

public void setCourseLength(String courseLength) {
CourseLength = courseLength;
}

public static String TABLE = "Courses";

public static final String KEY_COURSEID = "Course ID";
public static final String KEY_COURSENAME = "Course NAme";
public static final String KEY_COURSEDES = "Course Description";
public static final String KEY_COURSECONTENTONE = "Course Content 1";
public static final String KEY_COURSECONTENTTWO = "Course Content 2";
public static final String KEY_COURSECONTENTTHREE = "Course Content 3";
public static final String KEY_COURSECONTENTFOUR = "Course Content 4";
public static final String KEY_COURSEPRICE = "Course Price";
public static final String KEY_COURSELENGTH = "Course Length";

public Course(String courseID, String courseName, String courseDes, String
courseContent1, String courseContent2, String courseContent3, String
courseContent4, String coursePrice, String courseLength, Context context){
CourseID = courseID;
CourseName = courseName;
CourseDes = courseDes;
CourseContent1 = courseContent1;
CourseContent2 = courseContent2;
CourseContent3 = courseContent3;
CourseContent4 = courseContent4;
CoursePrice = coursePrice;
CourseLength= courseLength;

Toast.makeText(context, "Course successfully added to the database",
Toast.LENGTH_SHORT).show();
}

@Override
public String toString() {
return "Course{" +
"CourseID='" + CourseID + '\'' +
", CourseName='" + CourseName + '\'' +
", CourseDes='" + CourseDes + '\'' +
", CourseContent1='" + CourseContent1 + '\'' +
", CourseContent2='" + CourseContent2 + '\'' +
", CourseContent3='" + CourseContent3 + '\'' +
", CourseContent4='" + CourseContent4 + '\'' +
", CoursePrice='" + CoursePrice + '\'' +
", CourseLength='" + CourseLength + '\'' +
'}';
}
}

Error Screenshot

最佳答案

您的主要问题是列名不能包含空格。因此,所有这些都需要修复:

public static final String KEY_STUDENTID = "Student ID";
public static final String KEY_PASSWORD = "Student Password";
public static final String KEY_FIRSTNAME = "First Name";
public static final String KEY_ADDRESSONE = "Address Line 1";
public static final String KEY_ADDRESSTWO = "Address Line 2";
public static final String KEY_TOWNCITY = "Town or City";
public static final String KEY_MOBILENO = "Mobile Number";
public static final String KEY_LANDLINENO = "Home Number";
public static final String KEY_PEMAIL = "Personal Email";
public static final String KEY_CEMAIL = "College Email";
public static final String KEY_COURSEID = "Course ID";

请记住:这些是数据库中的列名,而不是面向用户的字符串。

此外,CREATE_TABLE_STUDENTSCREATE_TABLE_STAFF 缺少用于关闭列列表的 )。例如,在 CREATE_TABLE_STUDENTS 中,将 + Student.KEY_COURSEID + "TEXT, " 替换为 + Student.KEY_COURSEID + "TEXT) "

关于java - '(' , ' )', <column constraint> or comma expected, got ' TEXT' android studio 中的 SQLite 数据库错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50573608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com