SQLITE错误,"表(表名)没有列名称(列名称)为什么?

时间:2014-04-09 09:29:46

标签: android sqlite android-studio runtime-error logcat

我无法找到错误,我看过其他帖子,问题是键盘空间,我已经尝试但我没有得到解决。 很抱歉没能用英语表达自己。

LOGCAT

04-09 00:44:09.845    8746-8746/com.example.app E/SQLiteLog﹕ (1) table anuncios has no          column named titulo
04-09 00:44:09.850    8746-8746/com.example.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
android.database.sqlite.SQLiteException: table anuncios has no column named titulo (code    1): , while compiling: insert into anuncios      (titulo,descripcion,unidades,precioini,descuento,preciofi) values (?,?,?,?,?,?)
    at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
    at   android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:886)
    at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:497)
    at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
    at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
    at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
    at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:992)
 at com.example.app.conexion.insertaranuncio(conexion.java:33)
 at com.example.app.formularioanuncio$1.onClick(formularioanuncio.java:60)

FORM CLASS

public class formularioanuncio extends ActionBarActivity {


EditText titu_anun, descrip_anun,unidades_anun,precioini_anun, descuento_anun,preciofi_anun;
Button but_public_anun;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_formularioanuncio);


    titu_anun = (EditText) findViewById(R.id.etxt_tituloanuncio);
    descrip_anun = (EditText) findViewById(R.id.etxt_descrip_anun);
    unidades_anun = (EditText) findViewById(R.id.etxt_unidad_anun);
    precioini_anun = (EditText) findViewById(R.id.etxt_precioini_anun);
    descuento_anun = (EditText) findViewById(R.id.etxt_descuento_anun);
    preciofi_anun = (EditText) findViewById(R.id.etxt_preciofi_anun);
    but_public_anun = (Button) findViewById(R.id.btn_publi_anun);


    but_public_anun.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {


            String titulo = titu_anun.getText().toString(); 

            String descripcion = descrip_anun.getText().toString();
            String unidades = unidades_anun.getText().toString();
            String precio_inicial = precioini_anun.getText().toString();
            String descuento = descuento_anun.getText().toString();
            String precio_final = preciofi_anun.getText().toString();


            conexion cn = new conexion(getApplicationContext(),"DBanuncios.db", null,   1);

            SQLiteDatabase db = cn.getWritableDatabase();

                 cn.insertaranuncio(db,titulo,descripcion,unidades,precio_inicial,
                 descuento,precio_final);   //logcat error suggest here


        }
    });

}

布局表格类(layout.activity_formularioanuncio)

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/scrollView">

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/linearLayout"
    android:layout_marginBottom="45dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:padding="@dimen/activity_horizontal_margin">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/tituloanuncio"
        android:id="@+id/txttituloanuncio"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="20dp" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:id="@+id/etxt_titu_anun"
        android:layout_below="@+id/etxt_tituloanuncio"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/descripcionanuncio"
        android:id="@+id/txtdescripanuncio"
        android:layout_marginTop="30dp" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textMultiLine"
        android:ems="10"
        android:id="@+id/etxt_descrip_anun" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/unidadesanuncio"
        android:id="@+id/txt_unidadesanuncio"
        android:layout_marginTop="30dp" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:id="@+id/etxt_unidad_anun"
        android:layout_gravity="center_horizontal"
        android:inputType="none" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/precioinianuncio"
        android:id="@+id/txtprecioini_anuncio"
        android:layout_marginTop="30dp" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="none"
        android:ems="10"
        android:id="@+id/etxt_precioini_anun" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/descuentoanuncio"
        android:id="@+id/txtdescuentoanun"
        android:layout_marginTop="30dp" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="none"
        android:ems="10"
        android:id="@+id/etxt_descuento_anun" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/preciofinanuncio"
        android:id="@+id/txt_preciofinanuncio"
        android:layout_marginTop="30dp" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:ems="10"
        android:id="@+id/etxt_preciofi_anun" />

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/botonpublicaranuncio"
        android:id="@+id/btn_publi_anun"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:textSize="28sp"
        android:paddingTop="15dp"
        android:paddingBottom="15dp" />

</LinearLayout>
</ScrollView>

SQLITE CONNECTION CLASS

 public class conexion extends SQLiteOpenHelper {


 String sql="create table anuncios (id integer primary key autoincrement, titulo text, descripcion text, unidades text, precioini text, descuento text, preciofi text)";

public conexion(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
    super(context, name, factory, version);
}

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL(sql);

}

@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i2) {

}


public void insertaranuncio (SQLiteDatabase db, String titulo, String descripcion, String unidades, String precioini, String descuento, String preciofi){

    SQLiteStatement pst=db.compileStatement("insert into anuncios  (titulo, descripcion, unidades, precioini, descuento, preciofi) "+
 "values (?,?,?,?,?,?)"); //logcat error suggest here

    pst.bindString(1,titulo);
    pst.bindString(2,descripcion);
    pst.bindString(3,unidades);
    pst.bindString(4,precioini);
    pst.bindString(5,descuento);
    pst.bindString(6,preciofi);
    pst.execute();

}

}

0 个答案:

没有答案