DaChavoh DaChavoh -4 years ago 72
Android Question

How to resolve the error : sqlite returned: error code = 1, msg = table DetailsCustomer has no column named Username,

public class DBAdapter {
public static final String COLUMN_ID = "ID";
public static final String COLUMN_NAME = "NAME";
public static final String COLUMN_SURNAME = "SURNAME";
public static final String COLUMN_DATE_OF_BIRTH = "DateOfBirth";
public static final String COLUMN_ADDRESS = "HomeAddress";
public static final String COLUMN_EMAIL = "EmailNO";

public static final String COLUMN_PHONE_NUMBER = "PhoneNumber";
public static final String COLUMN_CITY = "City";
public static final String COLUMN_PTYE_PAYMENT = "TypePayment";
public static final String COLUMN_SHIPPING_TYPE = "ShippingType";
public static final String COLUMN_CARD_NUMBER = "CardNumber";
public static final String COLUMN_username = "Username";
public static final String COLUMN_Password = "Passwords";

public static final String TAG = "DBAdapter";

private static final String DATABASE_NAME = "Computer_Info.db";
private static final String USERS_TABLE = "DetailsCustomer";
private static final int DATABASE_VERSION = 3;

private final Context context;

private DatabaseHelper DBHelper;
private SQLiteDatabase db;

public DBAdapter (Context ctx)
{
this.context = ctx;
DBHelper = new DatabaseHelper(context);
}

private static class DatabaseHelper extends SQLiteOpenHelper
{
DatabaseHelper(Context context) {
super (context,DATABASE_NAME,null,DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db)
{



try {
//db.execSQL(DATABASE_CREATE);
db.execSQL("CREATE TABLE "+ USERS_TABLE +
"("+ COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_NAME + " TEXT, " + COLUMN_SURNAME +" TEXT, " +COLUMN_DATE_OF_BIRTH+

" TEXT NOT NULL, " + COLUMN_ADDRESS + " TEXT, " + COLUMN_EMAIL +" TEXT, " +
COLUMN_PHONE_NUMBER + " TEXT, "+ COLUMN_CITY + " TEXT, "+ COLUMN_PTYE_PAYMENT +
" TEXT, " + COLUMN_CARD_NUMBER + " TEXT,"+ COLUMN_username + "TEXT ," + COLUMN_Password +" TEXT)");

}



catch (SQLException e) {
e.printStackTrace();

}
}

public long insertRecord(String NAME, String SURNAME, String DateOfBirth,
String HomeAddress,String EmailNO, String PhoneNumber, String City,
long l, long m,String CardNumber,String Username, String Passwords) {
{


ContentValues initialValues = new ContentValues();


initialValues.put(COLUMN_NAME,NAME);
initialValues.put(COLUMN_SURNAME,SURNAME);
initialValues.put(COLUMN_DATE_OF_BIRTH,DateOfBirth);
initialValues.put(COLUMN_ADDRESS,HomeAddress);
initialValues.put(COLUMN_EMAIL,EmailNO);
initialValues.put(COLUMN_PHONE_NUMBER,PhoneNumber);
initialValues.put(COLUMN_CITY,City);
initialValues.put(COLUMN_PTYE_PAYMENT,l);
initialValues.put(COLUMN_SHIPPING_TYPE,m);
initialValues.put(COLUMN_CARD_NUMBER,CardNumber);
initialValues.put(COLUMN_username,Username);
initialValues.put(COLUMN_Password,Passwords);

return db.insert(USERS_TABLE,null, initialValues);

}

}

public long insertRecord(String nAME, String sURNAME, String dateOfBirth,
String homeAddress, String emailNO, String phoneNumber, String city,
String string, String string2, String cardNumber, String Username, String Passwords) {
return 0;

}


and also my Activity class--------------------------

public void buttonRegister(View v)
{
Log.d("test", "adding");

//get data from form
EditText nametext = (EditText)findViewById(R.id.editTextName);
EditText Surnametext = (EditText)findViewById(R.id.editTextSurname);
EditText DOBtext = (EditText)findViewById(R.id.editTextDateBirth);
EditText Adresstext = (EditText)findViewById(R.id.editTexAddress);
EditText EmailNotext = (EditText)findViewById(R.id.editTeEmail);
EditText Phonetext = (EditText)findViewById(R.id.editTexPhone);
EditText Citytext = (EditText)findViewById(R.id.editTextCITY);
Spinner PaymentSpinner = (Spinner)findViewById(R.id.spinnerPayment);
Spinner ShippngMethod = (Spinner)findViewById(R.id.spinnerShipping);
EditText CardNumbertext = (EditText)findViewById(R.id.editTextCARDNUMBER);
EditText usernametext = (EditText)findViewById(R.id.txtusername);
EditText pasword = (EditText)findViewById(R.id.editTexpassword);




db.open();
long id = db.insertRecord(nametext.getText().toString(), Surnametext.getText().toString(),
DOBtext.getText().toString(),Adresstext.getText().toString(),EmailNotext.getText().toString(),
Phonetext.getText().toString(), Citytext.getText().toString(),
PaymentSpinner.getSelectedItemId(), ShippngMethod.getSelectedItemId(), CardNumbertext.getText().toString(),
usernametext.getText().toString(), pasword.getText().toString());




db.close();

nametext.setText("");
Surnametext.setText("");
DOBtext.setText("");
Adresstext.setText("");
EmailNotext.setText("");
Phonetext.setText("");
Citytext.setText("");
PaymentSpinner.setId(0);
ShippngMethod.setId(0);
CardNumbertext.setText("");
usernametext.setText("");
pasword.setText("");





Toast.makeText(Regist.this,"Customer has been Registered",Toast.LENGTH_LONG).show();

}


I'm trying to insert into a database but it telling me there in column name Username... which I don't get why it happening please help me

Answer Source

It is correct, that column doesn't exist because of this bit in the string where you create the database:

COLUMN_username + "TEXT ," 

You are missing a space. It should be:

COLUMN_username + " TEXT ," 
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download