я получаю следующую ошибкуошибка синтаксиса (код 1):, при компиляции:
android.database.sqlite.SQLiteException: near "TEXT": syntax error (code 1): , while compiling: CREATE TABLE contacts (name TEXT, phone INTEGER, email TEXT
Конкретная строка кода, генерирующего ошибки является
sqLiteDatabase.execSQL("CREATE TABLE contacts (name TEXT, phone INTEGER, email TEXT");
Вот полный код:
package ca.truewebdev.sqlitetest1;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SQLiteDatabase sqLiteDatabase = getBaseContext().openOrCreateDatabase("sqlite-test-1.db", MODE_PRIVATE, null);
sqLiteDatabase.execSQL("CREATE TABLE contacts (name TEXT, phone INTEGER,email TEXT");
sqLiteDatabase.execSQL("INSERT INTO contacts VALUES('tim',6456789,'[email protected]/com'");
sqLiteDatabase.execSQL("INSERT INTO contacts VALUES('chris',324243,'[email protected]/com'");
//set up to be able to access data
Cursor query = sqLiteDatabase.rawQuery("SELECT * FROM contacts", null);
//check to see if any data, moves to first record or returns false if none
if (query.moveToFirst()) {
// cycle through all records
String name = query.getString(0);
int phone = query.getInt(1);
String email = query.getString(2);
Toast.makeText(getBaseContext(), "Name = " + name + " phone = " + phone +
" email = " + email, Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getBaseContext(), "Error retrieving data", Toast.LENGTH_LONG).show();
}
}
}
Почему я получаю эту ошибку? Я следую вместе с учебником. Я был уверен, что правильно набрал все.
Отсутствуют закрывающие круглые скобки в запросах CREATE и INSERT. –