我无法在我的数据库中输入浮动数据

时间:2017-01-24 11:53:06

标签: android

以下是无效的代码,因为我试图将float输入数据库。

 db.execSQL("CREATE TABLE "+TABLE_VARIABLES+"("
            +"_id INTEGER PRIMARY KEY AUTOINCREMENT,"
            + "Crop_Name TEXT,"
            + "Temp_Max REAL,"
            + "Temp_Min REAL,"
            + "Humidity_Max REAL,"
            + "Humidity_Min REAL,"
            + "PH_Max REAL,"
            + "PH_Min REAL,"
            + "Rain REAL,"

            +"Time_To_Harvest INTEGER,"

            + "Sunshine_Days INTEGER);");

我已使用以下方法将数据输入表中

insert_Data(db,"Rice",35,20,80,60,(float)6.5,(float)5.0,1400,150,6);
        insert_Data(db,"Wheat",12,30,60,50,(float)3.7,7,310,120,6);

,方法如下

private void insert_Data(SQLiteDatabase db,String name,float tempmax,float tempmin,float humiditymax,
                             float humidity_min,float phmax,float phmin,float rainmax,
                             int T2H,int Sunshine){

       ContentValues crop_data= new ContentValues();
        crop_data.put("Crop_Name",name);
        crop_data.put("Temp_Max",tempmax);
        crop_data.put("Temp_Min",tempmin);
        crop_data.put("Humidity_Max",humiditymax);
        crop_data.put("Humidity_Min",humidity_min);
        crop_data.put("PH_Max",phmax);
        crop_data.put("PH_Min",phmin);
        crop_data.put("Rain",rainmax);

        crop_data.put("Time_To_Harvest",T2H);
        crop_data.put("Sunshine)Days",Sunshine);
        db.insert("variables",null,crop_data);
运行此代码时,未插入

数据。但当我用这个方法替换所有浮点数据时,插入数据。

抱歉,这个问题是由于我的错误。

1 个答案:

答案 0 :(得分:0)

REAL。该值是浮点值,存储为8字节IEEE浮点数。

阅读http://sqlite.org/datatype3.html了解详情。

你有拼写错误。 <强>阳光)天

尝试使用double数据类型而不是float !!!