GVKun编程网logo

如何从android上的sqlite数据库中删除旧行?

21

以上就是给各位分享如何从android上的sqlite数据库中删除旧行?,同时本文还将给你拓展AndroidSQLite数据库中的表详解、android–从sqlite数据库中删除所有表、androi

以上就是给各位分享如何从android上的sqlite数据库中删除旧行?,同时本文还将给你拓展Android SQLite数据库中的表详解、android – 从sqlite数据库中删除所有表、android – 从sqlite数据库中获取最后一行、android – 如何从库中存储SQLite数据库中的图像等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何从android上的sqlite数据库中删除旧行?

如何从android上的sqlite数据库中删除旧行?

@H_301_2@
我有一个参数,用户可以选择存储数据的时间段.
我在天变量中读到它.将记录添加到数据库的日期和时间存储在KEY_DATE_ADDED中,创建如下:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  // sql date format
Date date = new Date();
initialValues.put(KEY_DATE_ADDED,dateFormat.format(date));

然后我做以下事情:

mDb.delete(DATABASE_TABLE,"date(Now) > date(" + KEY_DATE_ADDED + ",+" + days + " days)",null);

它不起作用.实际查询(部分)如下所示:

WHERE date(Now) > date(date_added,+10
days)

这里有什么不对?看起来像而不是date_added其他东西应该在这里.
我想使用SQL data formatting来避免多次重新格式化日期.

Android数据库是否有用于测试实际数据的SQL查询的GUI?

@H_301_2@

解决方法

好的,我应该使用日期(‘现在’)>日期(‘date_added’,’10天’) @H_301_2@ @H_301_2@
@H_301_2@
@H_301_2@

总结

以上是小编为你收集整理的如何从android上的sqlite数据库中删除旧行?全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

Android相关文章

Android获得屏幕宽高怎么实现?Android获得屏幕宽高的方法
Android开发中获得屏幕的宽度和高度还是比较常用的,在网上找到了很多,在这算是一个总结,以便以后使用。 1.看到的最常见的一种就是一下的这种了 windowManager = getWindowManager();//得到窗口的管
Android Studio实现课程表应用(Kotlin版本)
本次课程表应用功能非常丰富,而且非常实用,可以添加学期的课程信息,设置展示的课程页面,设置上下课时间,设置课表的字体大小,更换应用背景图片、显示授课老师。将设置好的课程表导出到手机内,也可以将课程表文件导入应用,还可以通过通讯工具分享课程表。有上下课提醒,上课时手机自动静音,提醒服务后台常驻。具有个性化设置,设置应用主题,还可以查看软件详情。可以说,是一款非常完整出色的课程表应用。
Frida-Dexdump 脱壳工具下载使用以及相关技术介绍
Frida-Dexdump 脱壳工具下载使用以及相关技术介绍
Android studio 实现app登录注册页面
实现注册界面的布局效果,包含用户名,密码,忘记密码,登录等控件
Android App开发实战之实现微信记账本(附源码 超详细必看)
Android App开发实战之实现微信记账本功能(附源码 超详细必看)
高仿小米加载动画效果
前言首先看一下小米中的加载动画是怎么样的,恩恩~~~~虽然只是张图片,因为录制不上全部,很多都是刚一加载就成功了,一点机会都不提供给我,所以就截了一张图,他这个加载动画特点就是左面圆圈会一直转。仿照的效果如下:实现过程这个没有难度,只是学会一个公式就可以,也就是已知圆心,半径,角度,求圆上的点坐标,算出来的结果在这个点绘制一个实心圆即可,下面是自定义Dialog,让其在底部现实,其中的View也是自定义的一个。class MiuiLoadingDialog(conte
FlutterComponent最佳实践之角对齐
作者:徐宜生Flutter布局千千万,虽然Box模型相比于原生布局来说,在大部分场景下都是更加方便了,但是有些场景,确实还是ConstraintLayout来的更方便一点,例如下面这个场景:「将不定长度的角标,放置于容器右上角,同时角标中心和容器角顶点对齐」,这其实是一个常见的需求,几乎在UI中的角标场景下都会用到,只不过大部分时候,直接写死一个差不多的偏移量,用Stack就可以实现了,但如果要求特别精准,Flutter的自带Widget就无法满足需求了(通过Key计算的方式就不说了,有点太浪费性能了.
Retrofit WebService 实践
前言作为 Android 开发,平时和后端聊得最多的除了喝酒就是接口。常用语:Restful 和 WebService,前者现在聊得多,后者以前聊得多。默认含义分别为:Restful:HTTP 协议 和 JSON 格式WebService:特指 Soap 协议 和 XML 格式针对基于 HTTP 协议且格式为 JSON 的 Restful 接口,Android 客户端一般采用 Retrofit + Gson/Moshi 的方案解决。而针对 Soap 协
  • • Android获得屏幕宽高怎么实现?Android
  • • Android Studio实现课程表应用(Kotlin
  • • Frida-Dexdump 脱壳工具下载使用以及相
  • • Android studio 实现app登录注册页面
  • • Android App开发实战之实现微信记账本(
  • • 高仿小米加载动画效果
  • • FlutterComponent最佳实践之角对齐
  • • Retrofit WebService 实践
  • • 一文读懂 Handler 机制
  • • HanderThread基本使用以及内部实现原理
Flutterandroidiosswift抖音cocos2d小米cocos2dx三国杀kotlin-coroppococosandroid-jexcodeandroid-liaugmented-美好mutateandroid-gr加到arkitreact-naticnnandroid-cocrashlytic耳机java-nativexoplayerstockandroid-ar壁纸react-natiandroid-daandroid-wowatchosandroid-ca笔记本电脑buildozer装备android-al

Android SQLite数据库中的表详解

Android SQLite数据库中的表详解

Android sqlite数据库

前言

以前写PHP的时候,内置了print_r()和var_dump()两个函数用于打印输出任意类型的数据内部结构,现在做Android的开发,发现并没有这种类似的函数,对于数据库的查看很不方便,于是就写了一下查看数据库表的方法代码。

代码实现

import java.util.Arrays;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.sqliteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class SecondActivity extends Activity {

  public static final String TAG = "Debug Info";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    ((Button)findViewById(R.id.btnQue)).setonClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
        MyDatabaseHelper dbhelper = new MyDatabaseHelper(SecondActivity.this,"BookStore.db",null,1);
        sqliteDatabase db = dbhelper.getWritableDatabase();

        //核心区
        //读取系统表 sqlite_master
        String sql = "select * from sqlite_master";
        Cursor cursor = db.rawQuery(sql,null);

        //打印表的所有列名
        Log.i(TAG,Arrays.toString(cursor.getColumnNames()));

        //打印当前数据库中的所有表
        if (cursor.movetoFirst()) {
          do {
            String str = "";

            for (String item : cursor.getColumnNames()) {
              str += item + ": " + cursor.getString(cursor.getColumnIndex(item)) + "\n";
            }

            Log.i(TAG,str);

          } while (cursor.movetoNext());
        }
      }
    });
  }

}

功能扩展

查看表是否存在

public Boolean tableIsExist(sqliteDatabase db,String tableName){
  boolean result = false;
  Cursor cursor = null;

  if(tableName == null){
    return result;
  }

  String sql = "select count(*) from sqlite_master where type ='table' and name ='"+tableName.trim()+"'";
  cursor = db.rawQuery(sql,null);

  if(cursor.movetoNext()){
    if(cursor.getInt(0) > 0){
      result = true;
    }
  }

  return result;
}  

查看数据库中有哪些表

public ArrayList<String> tablesInDB(sqliteDatabase db){
  ArrayList<String> list = new ArrayList<String>();
  String sql = "select name from sqlite_master where type='table'";
  Cursor cursor = db.rawQuery(sql,null);

  if (cursor.movetoFirst()) {
      do {
        list.add(cursor.getString(0));
      } while (cursor.movetoNext());
    }

  return list;

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

android – 从sqlite数据库中删除所有表

android – 从sqlite数据库中删除所有表

我做了很多研究,无法找到合适的方法来删除sqlite数据库中的所有表.最后,我做了一个代码来从数据库中获取所有表名,我尝试逐个使用检索到的表名删除表.它没有用.

请建议我从数据库中删除所有表的方法.

这是我使用的代码:

public void deleteall(){
    sqliteDatabase db = this.getWritableDatabase();
    Cursor c = db.rawQuery("SELECT name FROM sqlite_master WHERE type='table'", null);
    do
    {
        db.delete(c.getString(0),null,null);
    }while (c.movetoNext());
}

按钮单击时调用函数deleteall(),其代码如下:

public void ButtonClick(View view)
{
    String Button_text;
    Button_text = ((Button) view).getText().toString();

    if(Button_text.equals("Delete Database"))
    {
        DatabaseHelper a = new DatabaseHelper(this);
        a.deleteall();
        Toast.makeText(getApplicationContext(), "Database Deleted Succesfully!", Toast.LENGTH_SHORT).show();
    }}

解决方法:

使用DROP TABLE:

// query to obtain the names of all tables in your database
Cursor c = db.rawQuery("SELECT name FROM sqlite_master WHERE type='table'", null);
List<String> tables = new ArrayList<>();

// iterate over the result set, adding every table name to a list
while (c.movetoNext()) {
    tables.add(c.getString(0));
}

// call DROP TABLE on every table name
for (String table : tables) {
    String dropQuery = "DROP TABLE IF EXISTS " + table;
    db.execsql(dropQuery);
}

android – 从sqlite数据库中获取最后一行

android – 从sqlite数据库中获取最后一行

我试图从我的sqlite数据库中获取最后一行.直到现在我已经尝试过max,sql_sequence但似乎没有任何效果.我必须获取行值并将其分配给类变量.
感谢任何帮助,因为我是sqlite和Android的新手.
谢谢..

解决方法:

如果您已经获得了光标,那么这就是您从光标获取最后一条记录的方法:

cursor.movetoPosition(cursor.getCount() – 1);

//然后使用cursor来读取值

要么

像这样做

Cursor cursor = db.rawQuery(selectQuery, null);
cursor.movetoLast();

要么

SELECT * FROM TABLE WHERE ID = (SELECT MAX(ID) FROM TABLE);

android – 如何从库中存储SQLite数据库中的图像

android – 如何从库中存储SQLite数据库中的图像

我已尝试此代码将图像从库上传到我的应用程序中的sqllite数据库,但当我的应用程序尝试打开库时,它会强制关闭错误,我不知道是什么问题.帮助我和thanx在高级

public class ImagggggggActivity extends Activity { 

    private static final int SELECT_PICTURE = 1;
    private String selectedImagePath; 
    private ImageView img; 

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);    
        setContentView(R.layout.main);  

         ((Button) findViewById(R.id.button1)) 
         .setonClickListener(new OnClickListener() { 

             public void onClick(View arg0) { 

                 // in onCreate or any event where your want the user to 
                 // select a file 
                 Intent intent = new Intent(); 
                 intent.setType("image/*"); 
                 intent.setAction(Intent.ACTION_GET_CONTENT); 
                 startActivityForResult(Intent.createChooser(intent, 
                         "Select Picture"), SELECT_PICTURE); 
             } 
         }); 
} 

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
 if (resultCode == RESULT_OK) { 
     if (requestCode == SELECT_PICTURE) { 
         Uri selectedImageUri = data.getData(); 
         selectedImagePath = getPath(selectedImageUri); 
     } 
 } 
} 

public String getPath(Uri uri) { 
 String[] projection = { MediaStore.Images.Media.DATA }; 
 Cursor cursor = managedQuery(uri, projection, null, null, null); 
 int column_index = cursor 
         .getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
 cursor.movetoFirst(); 
 return cursor.getString(column_index); 
}}

解决方法:

通过按钮单击导入表单设备

Intent sdintent = new Intent(Intent.ACTION_PICK);
sdintent.setType("image/*");
startActivityForResult(sdintent, SD_REQUEST);

获取图像表单SD卡

if (requestCode == SD_REQUEST) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };

Cursor cursor = getContentResolver().query(selectedImage,
                filePathColumn, null, null, null);
cursor.movetoFirst();

int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();

Bitmap yourSelectedImage = BitmapFactory.decodeFile(filePath);

testimage.setimageBitmap(yourSelectedImage);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
yourSelectedImage.compress(Bitmap.CompressFormat.PNG, 100, stream);
byteArray = stream.toByteArray();
}

保存图片

DatabaseAdapter dbHelper = new DatabaseAdapter(Profiles.this);

       dbHelper.open();
       dbHelper.createuserProfiles( byteArray);
       dbHelper.close();

在DatabaseAdapter.java中没有

限定

  public static final String U_PIC = "picture";

然后

private long createuserTableContentValues(long id,byte[] byteImage) {
        ContentValues values = new ContentValues();
        values.put(ID, id);
        values.put(U_PIC, byteImage);
return database.insert(IMAGE_INSERT, null, values);
}

我想这可能对你有帮助…..

其他资源:
http://www.helloandroid.com/tutorials/store-imagesfiles-database

http://www.coderanch.com/t/507054/Android/Mobile/Storing-image-database

http://hi.baidu.com/_java/blog/item/971e142a13afe6305243c12f.html

http://www.tutorialforandroid.com/2009/10/how-to-insert-image-data-to-sqlite.html

今天的关于如何从android上的sqlite数据库中删除旧行?的分享已经结束,谢谢您的关注,如果想了解更多关于Android SQLite数据库中的表详解、android – 从sqlite数据库中删除所有表、android – 从sqlite数据库中获取最后一行、android – 如何从库中存储SQLite数据库中的图像的相关知识,请在本站进行查询。

本文标签: