Dav*_*vid 5 java sql sqlite android insert
我有这个小gps locaton插入代码但不插入数据库:
db.setVersion(1);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
final String gps = "CREATE TABLE IF NOT EXISTS GPS_Values ("
+ "id INTEGER PRIMARY KEY AUTOINCREMENT, Latitude float(10, 6), Longitude float(10, 6), cur_timestamp TIMESTAMP);";
db.execSQL(gps);
Run Code Online (Sandbox Code Playgroud)
和插入行:
// GPS
public class MyLocationListener implements LocationListener {
public void onLocationChanged(Location loc) {
loc.getLatitude();
loc.getLongitude();
ContentValues gps_values = new ContentValues();
gps_values.put("Latitude", loc.getLatitude());
gps_values.put("Longitutde", loc.getLongitude());
try {
db.beginTransaction();
db.insert("GPS_Values", null, gps_values);
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
String Text = "My current location is: " + "Latitude = "
+ loc.getLatitude() + "\nLongitude = " + loc.getLongitude();
Toast.makeText(getApplicationContext(), Text, Toast.LENGTH_SHORT)
.show();
}
public void onProviderDisabled(String provider) {
Toast.makeText(getApplicationContext(), "Gps Disabled",
Toast.LENGTH_SHORT).show();
}
public void onProviderEnabled(String provider) {
Toast.makeText(getApplicationContext(), "Gps Enabled",
Toast.LENGTH_SHORT).show();
}
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}// gps vége
Run Code Online (Sandbox Code Playgroud)
当获得位置的时候,工作正常,但插入.
我有加速器类似的代码,工作正常.
请帮助我
Ale*_*tin 13
请尝试使用insertOrThrow- 如果您的数据库约束不允许特定插入,它将抛出异常,那么您将能够弄明白.
您要插入的列中有拼写错误:
gps_values.put("Longitutde", loc.getLongitude());
Run Code Online (Sandbox Code Playgroud)
应该
gps_values.put("Longitude", loc.getLongitude());
Run Code Online (Sandbox Code Playgroud)
该insert()调用返回-1,如果发生错误,但你不检查返回值.它通常更容易使用insertOrThrow,它会在出错时抛出异常.
| 归档时间: |
|
| 查看次数: |
10199 次 |
| 最近记录: |