2014-02-13 68 views
2

我试图插入一个值到SQLite数据库。我在数据库中有两个表,但该值没有插入到我的第二个表(即myNum表)中。我已经使用相同的代码插入第一个表,但它不适用于第二个表。我怎样才能解决这个问题? 这里是我的代码如何在Android中使用sqlite将数据插入到表中?

Databasehandler.java

public class Databasehandler extends SQLiteOpenHelper{ 
    private static final String LOGCAT = null; 

    public Databasehandler(Context applicationcontext) { 
     super(applicationcontext,"androidsqlite.db", null, 4); 
     // TODO Auto-generated constructor stub 
     Log.d(LOGCAT,"Database Created"); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
     // TODO Auto-generated method stub 
     String query,query1;  
     query = "CREATE TABLE userlogin (phoneId INTEGER PRIMARY KEY, 
            username TEXT,userid INTEGER,contacts INTEGER)"; 

     query1 = "CREATE TABLE mynum (Id INTEGER PRIMARY KEY,num INTEGER)"; 
     db.execSQL(query1); 
     db.execSQL(query); 
     //db.execSQL(query1); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     // TODO Auto-generated method stub 
     String query,query1; 
     query = "DROP TABLE IF EXISTS userlogin"; 
     query1 = "DROP TABLE IF EXISTS mynum"; 
     db.execSQL(query); 
     db.execSQL(query1); 
     onCreate(db); 
    } 

    public void communityfragment(HashMap<String, String> queryvalues) { 
     // TODO Auto-generated method stub 
     SQLiteDatabase database = this.getWritableDatabase(); 
     ContentValues values = new ContentValues(); 
     values.put("num",queryvalues.get("number")); 
     database.insert("mynum", null, values); 
     database.close(); 
    } 

这是我的CommunityFragment.java类

public class CommunityFragment extends Fragment { 
    HashMap<String, String> d=new HashMap<String, String>(); 
    d.put("number",f); 
    //nameValuePairs.add(new BasicNameValuePair("email","abc")); 
    Toast.makeText(getActivity(),"incommunityfragment"+d,Toast.LENGTH_LONG).show(); 
    db.communityfragment(d); 

} 
+0

你得到任何错误??? –

+0

请修复缩进。 – doorstuck

+0

我没有收到任何错误问题是thati认为communityfragment函数没有被调用 – user3256145

回答

1

您的第二个字段的数据类型为整数,你传递给它的字符串。正确的。

定义NUM为整数

CREATE TABLE mynum (Id INTEGER PRIMARY KEY,num INTEGER) 

,但你给它的字符串。

+0

没关系。 sqlite中的列类型只是建议;任何列都可以包含任何类型的数据。 – laalto

+0

@ laalto ..感谢您的纠正.. :) –

相关问题