SQL查詢資料查詢異常總結
這裡面會不斷的更新我在原生SQL語句的時候發現的問題異常總結:
(1)大小寫問題:
比如你的建立表的時候語句如下:
db.execSQL("create table if not exists Person(_id Integer PRIMARY KEY AUTOINCREMENT,NAME varchar(32),AGE varchar(32))");
你的插入語句如下:
查詢語句如下:public boolean insert(List<Person> persons) { boolean flag = true; ContentValues values = new ContentValues(); for (Person person : persons) { values.clear(); values.put("name", person.getName()); values.put("age", person.getAge()); long person1 = mDb.insert("Person", null, values); flag = person1 > 0; } return flag; }
你會一直查詢不到資料,我這裡其實做了try catch ,如果不做try catch就會崩掉的,列印日誌如下:public List<Person> query() { List<Person> persons = new ArrayList<>(); Cursor cursor = mDb.rawQuery("select * from Person", null); while (cursor.moveToNext()) { Person person = new Person(); try { person.setName(cursor.getString(cursor.getColumnIndex("name"))); person.setAge(cursor.getString(cursor.getColumnIndex("age"))); persons.add(person); } catch (Exception e) { Log.i(TAG, e.toString()); } } cursor.close(); return persons; }
java.lang.IllegalStateException: get field slot from row 2 col -1 failed
肯定會十分的不解,在debug的時候發現走到了查詢操作的person.setName哪裡,裡面的cursor.getColumnIndex返回的是-1,但是就TM想噴了,表裡面明明有這個欄位怎麼返回的是-1,其實你再仔細看看就會發現表裡面的“name”是大寫的NAME,而你這裡是小寫的。你改成大寫就會發現可以順利執行了:
改成大寫之後就能查詢到資料了。所以注意大小寫,在插入資料到表的時候是不區分大小寫的,但是在查詢的時候就會區分大小寫了。是不是很騷氣。public List<Person> query() { List<Person> persons = new ArrayList<>(); Cursor cursor = mDb.rawQuery("select * from Person", null); while (cursor.moveToNext()) { Person person = new Person(); try { person.setName(cursor.getString(cursor.getColumnIndex("NAME"))); person.setAge(cursor.getString(cursor.getColumnIndex("AGE"))); persons.add(person); } catch (Exception e) { Log.i(TAG, e.toString()); } } cursor.close(); return persons; }
後面發現新的問題會再繼續新增進來的。
相關推薦
SQL查詢資料查詢異常總結
這裡面會不斷的更新我在原生SQL語句的時候發現的問題異常總結: (1)大小寫問題: 比如你的建立表的時候語句如下: db.execSQL("create table if not exists Person(_id Integer PRIMARY K
資料庫實驗五/SQL的資料查詢
資料庫實驗五 本學期資料庫實驗,之前又看到別人寫的,但是有一部分有點小錯,於是還是自己上機實驗的程式碼比較靠譜,這裡貼出來供大家參考 ///// ///// 如果有錯誤 還望指出 //////// /////// SQL的資料查詢 一、實驗目的 1. 熟練使用S
[MS Access+MySQL系列]如何利用phpMyAdmin介面進行資料表匯入、SQL簡易資料查詢和資料表刪除等操作?
承接[MS Access+MySQL系列]如何在phpMyAdmin設定使用者帳號和密碼文章,當後端資料庫搭建完成後,如何在phpMyAdmin中匯入資料表、進行簡易SQL查詢和資料表刪除等等操作,使得未來前端操作人員進行存取作業,成為下一步重點工作。 本文以虛構的客戶資料為例,說明如何將客
SQL 大資料查詢如何進行優化?
1.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索 2.應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如:引。 select id f
【Sql Server學習】Sql Server資料查詢(三)
(1)查詢資訊系(IS)的所有學生的姓名,所選課程號及成績。 select Sname,Cno,Grade from Student,SC where Sdept IN (select
SQL 大資料查詢如何進行優化?sqlserver和oracle整理
SQL 大資料查詢如何進行優化?整理 原則,多數資料庫都是從 左到右的順序處理條件,把能過濾更多資料的條件放在前面,過濾少的條件放後面 SQL1: select * from employee where salary >1000
【Sql Server學習】Sql Server資料查詢
(1)查詢資訊工程學院(IS)的所有學生的姓名。 select sname,sdept from student where sdept='is' (2)查詢學生選課成績合格的成績資訊。select grade from sc where grade>=60 (3
oracle ebs + PL/SQL實現將查詢出來的資料儲存為csv格式檔案,並定期上傳到FTP伺服器學習總結
目的 oracle ebs + PL/SQL實現將查詢出來的資料儲存為csv格式檔案,並定期上傳到FTP伺服器。 用到oracle utl_file包,FTP檔案上傳 第一次接觸這種型別的任務,也是在網上查詢了很多參考資料才弄出來。 下面是具體的例子。
MYSQL 按時間動態查詢資料sql
在開發種使用時間動態查詢資料的需求很多,下面展示mysql的查詢方式: 對一個表種的一個時間欄位查詢: select * from mw_bill where YEAR(recharge_time)=2018 and MONTH(recharge_time)=09; recharge_t
用JAVA連線SQL實現查詢資料
顯示所有學生程式碼 <%@ page language="java" contentType="text/html; charset=UTF-8" import="java.sql.*" pageEncoding="UTF-8"%> <!DOCTYPE html>
SQL Server 資料分頁查詢
最近學習了一下SQL的分頁查詢,總結了以下幾種方法。 首先建立了一個表,隨意插入的一些測試資料,表結構和資料如下圖: 現在假設我們要做的是每頁5條資料,而現在我們要取第三頁的資料。(資料太少,就每頁5條了) 方法一: select top 5 * from [Stu
Django資料查詢方法總結
__exact 精確等於 like ‘aaa’__iexact 精確等於 忽略大小寫 ilike ‘aaa’__contains 包含 like ‘%aaa%’__icontains 包含 忽略大小寫 ilike ‘%aaa%’,但是對於sqlite來說,contains的作用效果等同於icontains。_
資料庫知識整理 - 關係資料庫標準語言SQL(二)- 超良心的資料查詢整理!
主要內容 資料查詢 基本語法 單表查詢 1. 選擇表中的若干列 2. 選擇表中的若干元組 3. ORDER BY子句 4. 聚集函式 5. GROUP BY子句 連線查詢 1. 等值與非等值連線查詢 2. 自身連線 3. 外
Atitit redis使用場合總結 使用場景 目錄 1.1. 3. Session 儲存 1 1、 配置資料查詢 1 2. 排行榜應用,取TOP N操作 1 1.2. 1、查詢最
Atitit redis使用場合總結 使用場景 目錄 1.1. 3. Session 儲存 1 1、 配置資料查詢 1 2. 排行榜應用,取TOP N操作 1 1.2. 1
mysql-使用Navicat匯出sql查詢資料
注意點:數字型別如果過長,匯出到Excel是科學技術方 解決方案:cast(需要轉換的值 as char(19)) 轉換 SELECT cast(sod.sku_sid as char(19)) skuSi
mybaits(查詢與別名、日誌框架顯示sql語句、物件屬性和資料庫表字段不匹配resultMap使用、mysql資料查詢分頁、執行sql和儲存過程、動態SQL語句)
主要是各種配置檔案,建議把整個專案搬到自己電腦上慢慢看。 建立maven專案 首先是各種配置檔案: pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://m
SQL語句彙總(二)——資料修改、資料查詢
SQL語句第二篇,不說廢話直接開始吧。 首先,建立一張t_student表 CREATE TABLE `t_student` ( `student_id` int(11) unsigned NOT NULL AUTO_INCREMENT, `student_name` varch
mysql sql語句查詢指定資料在查詢資料列表中排名第幾
需求是這樣的,我們有個排名列表,需要查詢出當前條件下的指定人員的資訊是在排序後的第幾條。 兩種sql解決方案 SELECT a.* FROM (SELECT *, (@i :[email protected] + 1) AS No FRO
ArcEngine 資料查詢、資料操作總結
資料查詢 查詢地理資料庫表 查詢geodatabase物件的三種常見的介面是IQueryFilter、ISpatialFilter、IQueryDef介面。每個介面都有不同的功能,如下表所示: Requirement IQueryFil
SQL Server 中資料查詢注意事項
1.查詢語句不用區分大小寫,而且即使每張表的表名或者列名出現大寫字母,在寫查詢語句的時候也不用區分大小寫,查詢結果保持一致,所以查詢語句小寫即可。 2.在寫查詢語句的時候列名不需要帶單引號,數值型的字串不用帶引號,需要帶引號的是字元型和漢字型的字串。 3.如果既要用到group by子句,也要用到orde