Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android SQLite检查表是否包含行大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_404_4@
所以我正在开发一款针对 Android的游戏,而且我目前仍然停留在主菜单中的“加载存档游戏”按钮.
此按钮调用数据库读取数据的方法,并将其写入资源类,从该资源类中将访问此数据.

问题是:如果表中没有行,我想禁用加载按钮,这意味着不存在savegame.

为此,我使用以下方法

public Boolean checkForTables(){
    Boolean hasTables;
    String[] column = new String[1];
    column[0] = "Position";
    cursor cursor;
    cursor = db.query("itemtable",column,null,null);
    if(cursor.isNull(0) == truE){
        hasTables=false;
    }else{
        hasTables=true;
    }
    return hasTables;

正如您所看到的,它会在其中一个数据库表上启动查询,并检查0列(该列中唯一应该位于此列中的列)是否为空. ATM我无法检查此调用的logcat结果,因为我似乎遇到了一些问题,但似乎查询抛出异常,因为该表为空.

有没有想过检查表的行?

____________________编辑______________

注意:我检查了数据库,确实是空的

好吧我在表上使用了rawQuery但是使用COunt-statement的方法产生了一个错误,所以我正在使用

public Boolean checkForTables(){
        Boolean hasTables;

        cursor cursor = db.rawQuery("SELECT * FROM playertable",null);

        if(cursor.getCount() == 0){
            hasTables=false;
        if(cursor.getCount() > 0){
            hasTables=true;
        }

        cursor.close();
        return hasTables;
    }

我正在使用此方法来决定是否禁用loadGame按钮,如下所示:

loadGame = (ImageButton) findViewById(R.id.loadButton);
    loadGame.setEnabled(databaseAccess.checkForTables());
    loadGame.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            databaseAccess.loadPlayer();
            databaseAccess.loadItems();
            databaseAccess.dropTables();

        }
    });

因此,如果checkForTables得到一个!= 0的行数,它将返回true,因此启用Button,或者如果rowcount = 0则禁用它

有趣的是,尽管表是空的,但checkForTables()返回true,因为getCount()似乎返回了一个!= 0的值 – 我只是没有得到它.

@H_404_4@

解决方法

执行查询,例如从itemtable中选择count(*).此查询生成一个整数结果,其中包含该表中的行数.

例如:

cursor cursor = db.rawQuery("SELECT count(*) FROM itemtable");
if (cursor.geTint(0) > 0) ... // there are rows in the table

————————————————– ———————————–

请注意,@ PareshDudhat尝试了以下编辑,但被评论者拒绝了.自从这个答案发布以来,我没有跟上Android的步伐,但是一个@R_164_10584@的研究表明编辑(至少改变了如何调用rawQuery(),我没有检查moveToFirst()但@ k2col的评论建议它现在也是必需的)具有优点.

cursor cursor = db.rawQuery("SELECT count(*) FROM itemtable",null);
cursor.moveToFirst();
if (cursor.geTint(0) > 0) ... // there are rows in the table
@H_404_4@ @H_404_4@
@H_404_4@
@H_404_4@
本图文内容来源于网友网络收集整理提供,作为学习参使用,版权属于原作者。

猜你在找的Android相关文章

问题描述:预览图像被拉伸变形问题原因:由于预览图像大小跟SurfaceView 大小不一致引起 解决方法:获取系统支持的所有预览尺寸[getSupportedPictureSizes],然后再取一个比
可以忽略onWindowFocusChanged、onSaveInstanceState、onRestoreInstanceState几个事件,这几个事件官网中的生命周期里面没有提到、忽略掉这几个方法
ListView 的高度 必须要设置成一个明确的值 或者match_parent 不然就会调用多次getView方法
一. 在Android的源文件中的乱码问题Android studio安装后发现所有的中文,不管是界面上的还是输出的log中的中文都变成小框框,具体的解决方法如下,可以肯定是字体的问题解决:菜单Fil
第一部分 个性化控件(View)主要介绍那些不错个性化的 View,包括 ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style 等等。一、Li...
View与Widget带小红点的提示:BadgeViewBadgeView(stefanjauker的,改颜色需要在BadgeView源码里面改) android-viewbadger(可以设置提示为数字或者文字,以及背景颜色)标签tagviewTAGView(可以设置背景图片的形状和颜色,可以同时显示图片和文字) android-tagview(Android-Cloud-Ta...
内容抽屉菜单 ListView WebView SwitchButton 按钮 点赞按钮 进度条 TabLayout 图标 下拉刷新 ViewPager 图表(Chart) 菜单(Menu) 浮动菜单 对话框 空白页 滑动删除 手势操作 RecyclerView Card Color Drawable Spinner 布局 模糊效果 TabBar AppBar 选择器(Picker) 跑马灯 日历时间 主题样式 ImageView 通知
Android Context作用Context 用于访问全局信息的接口App的资源: Strings, drawable资源等等下面咱们来看一个例子public class MainActivity extends Activity { String TAG = "CARLOZ"; @Override protected void onCreate(Bundle savedIn

Android SQLite检查表是否包含行

微信公众号搜 "程序精选"关注

大佬总结

以上是大佬教程为你收集整理的Android SQLite检查表是否包含行全部内容,希望文章能够帮你解决Android SQLite检查表是否包含行所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。