我无法找到错误,我看过其他帖子,问题是键盘空间,我已经尝试但我没有得到解决。 很抱歉没能用英语表达自己。
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();
}
}