Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数据库插入时出现空指针异常 package com.omkarsoft.ImagePortofolio; 导入java.util.ArrayList; 导入com.omkarsoft.ImagePortofolio.dataBaseHelper; 导入android.content.ContentValues; 导入android.database.Cursor; 导入android.database.sqlite.SQLiteDatabase; 公共类sqlQueries{ 数据库助手数据库; sqlitedb数据库; UrlList UrlList; 公共sqlQueries(dataBaseHelper dbh、SQLiteDatabase db) { 数据库=胸径; 这个.db=db; } 公共sqlQueries(){ System.out.println(“不是sqlqueries构造函数”); } public void insertIntoCompanyTable(字符串companyname){ db=database.getWritableDatabase();//在这里可以正常工作 ContentValues=新的ContentValues(); value.put(dataBaseHelper.COMPANY\u NAME,companyname); System.out.println(值); db.insert(dataBaseHelper.COMPANY_LIST,null,value); } public int getCompanyID(字符串companyName) { int id=0; 光标c=null; 试一试{ db=database.getReadableDatabase();//在这里可以正常工作 String query=“从公司名称='”+companyName+“'的公司列表中选择公司id”; c=db.rawQuery(查询,空); }捕获(例外e){ System.out.println(“In-getCompanyID:+e”); } 如果(c!=null){ if(c.moveToFirst()){ id=c.getInt(c.getColumnIndex(“公司id”); } } 返回id; } 上市公司(字符串公司){ int id=0; 光标c=null; ArrayList name=新的ArrayList(); 试一试{ db=database.getReadableDatabase();//在这里可以正常工作 String query=“从公司列表中选择*”; c=db.rawQuery(查询,空); }捕获(例外e){ 系统输出打印ln(e); } 如果(c!=null){ 如果(c.getCount()==0) id=1; 否则{ if(c.moveToFirst()){ 做{ 字符串名称=c.getString(c.getColumnIndex(“公司名称”); 名称。添加(名称); }而(c.moveToNext()); } if(名称.包含(成分)) id=0; 其他的 id=1; } } 返回id; } public void insertIntoImageTable(int companyid,String productname,String productdesc,byte[]bmp) { 尝试 { db=database.getWritableDatabase();//这里我得到一个NPE ContentValues=新的ContentValues(); value.put(dataBaseHelper.COMPANY\u ID,companyid); value.put(dataBaseHelper.PRODUCT\u名称,产品名称); value.put(dataBaseHelper.PRODUCT\u说明,productdesc); value.put(dataBaseHelper.PRODUCT_IMAGE,bmp); System.out.println(值); db.insertOrThrow(dataBaseHelper.IMAGE_数据,null,值); System.out.println(值); } 捕获(例外e) { e、 printStackTrace(); } } }_Android - Fatal编程技术网

数据库插入时出现空指针异常 package com.omkarsoft.ImagePortofolio; 导入java.util.ArrayList; 导入com.omkarsoft.ImagePortofolio.dataBaseHelper; 导入android.content.ContentValues; 导入android.database.Cursor; 导入android.database.sqlite.SQLiteDatabase; 公共类sqlQueries{ 数据库助手数据库; sqlitedb数据库; UrlList UrlList; 公共sqlQueries(dataBaseHelper dbh、SQLiteDatabase db) { 数据库=胸径; 这个.db=db; } 公共sqlQueries(){ System.out.println(“不是sqlqueries构造函数”); } public void insertIntoCompanyTable(字符串companyname){ db=database.getWritableDatabase();//在这里可以正常工作 ContentValues=新的ContentValues(); value.put(dataBaseHelper.COMPANY\u NAME,companyname); System.out.println(值); db.insert(dataBaseHelper.COMPANY_LIST,null,value); } public int getCompanyID(字符串companyName) { int id=0; 光标c=null; 试一试{ db=database.getReadableDatabase();//在这里可以正常工作 String query=“从公司名称='”+companyName+“'的公司列表中选择公司id”; c=db.rawQuery(查询,空); }捕获(例外e){ System.out.println(“In-getCompanyID:+e”); } 如果(c!=null){ if(c.moveToFirst()){ id=c.getInt(c.getColumnIndex(“公司id”); } } 返回id; } 上市公司(字符串公司){ int id=0; 光标c=null; ArrayList name=新的ArrayList(); 试一试{ db=database.getReadableDatabase();//在这里可以正常工作 String query=“从公司列表中选择*”; c=db.rawQuery(查询,空); }捕获(例外e){ 系统输出打印ln(e); } 如果(c!=null){ 如果(c.getCount()==0) id=1; 否则{ if(c.moveToFirst()){ 做{ 字符串名称=c.getString(c.getColumnIndex(“公司名称”); 名称。添加(名称); }而(c.moveToNext()); } if(名称.包含(成分)) id=0; 其他的 id=1; } } 返回id; } public void insertIntoImageTable(int companyid,String productname,String productdesc,byte[]bmp) { 尝试 { db=database.getWritableDatabase();//这里我得到一个NPE ContentValues=新的ContentValues(); value.put(dataBaseHelper.COMPANY\u ID,companyid); value.put(dataBaseHelper.PRODUCT\u名称,产品名称); value.put(dataBaseHelper.PRODUCT\u说明,productdesc); value.put(dataBaseHelper.PRODUCT_IMAGE,bmp); System.out.println(值); db.insertOrThrow(dataBaseHelper.IMAGE_数据,null,值); System.out.println(值); } 捕获(例外e) { e、 printStackTrace(); } } }

数据库插入时出现空指针异常 package com.omkarsoft.ImagePortofolio; 导入java.util.ArrayList; 导入com.omkarsoft.ImagePortofolio.dataBaseHelper; 导入android.content.ContentValues; 导入android.database.Cursor; 导入android.database.sqlite.SQLiteDatabase; 公共类sqlQueries{ 数据库助手数据库; sqlitedb数据库; UrlList UrlList; 公共sqlQueries(dataBaseHelper dbh、SQLiteDatabase db) { 数据库=胸径; 这个.db=db; } 公共sqlQueries(){ System.out.println(“不是sqlqueries构造函数”); } public void insertIntoCompanyTable(字符串companyname){ db=database.getWritableDatabase();//在这里可以正常工作 ContentValues=新的ContentValues(); value.put(dataBaseHelper.COMPANY\u NAME,companyname); System.out.println(值); db.insert(dataBaseHelper.COMPANY_LIST,null,value); } public int getCompanyID(字符串companyName) { int id=0; 光标c=null; 试一试{ db=database.getReadableDatabase();//在这里可以正常工作 String query=“从公司名称='”+companyName+“'的公司列表中选择公司id”; c=db.rawQuery(查询,空); }捕获(例外e){ System.out.println(“In-getCompanyID:+e”); } 如果(c!=null){ if(c.moveToFirst()){ id=c.getInt(c.getColumnIndex(“公司id”); } } 返回id; } 上市公司(字符串公司){ int id=0; 光标c=null; ArrayList name=新的ArrayList(); 试一试{ db=database.getReadableDatabase();//在这里可以正常工作 String query=“从公司列表中选择*”; c=db.rawQuery(查询,空); }捕获(例外e){ 系统输出打印ln(e); } 如果(c!=null){ 如果(c.getCount()==0) id=1; 否则{ if(c.moveToFirst()){ 做{ 字符串名称=c.getString(c.getColumnIndex(“公司名称”); 名称。添加(名称); }而(c.moveToNext()); } if(名称.包含(成分)) id=0; 其他的 id=1; } } 返回id; } public void insertIntoImageTable(int companyid,String productname,String productdesc,byte[]bmp) { 尝试 { db=database.getWritableDatabase();//这里我得到一个NPE ContentValues=新的ContentValues(); value.put(dataBaseHelper.COMPANY\u ID,companyid); value.put(dataBaseHelper.PRODUCT\u名称,产品名称); value.put(dataBaseHelper.PRODUCT\u说明,productdesc); value.put(dataBaseHelper.PRODUCT_IMAGE,bmp); System.out.println(值); db.insertOrThrow(dataBaseHelper.IMAGE_数据,null,值); System.out.println(值); } 捕获(例外e) { e、 printStackTrace(); } } },android,Android,只要试着用String.valueOf()对放入db的每个参数进行日志记录即可然后您将看到哪个参数是null您需要打开数据库以便首先写入,例如 package com.omkarsoft.ImagePortofolio; import java.util.ArrayList; import com.omkarsoft.ImagePortofolio.dataBaseHelper; import android.content.ContentValues; import android.da

只要试着用
String.valueOf()对放入
db的每个参数进行日志记录即可
然后您将看到哪个参数是
null

您需要打开数据库以便首先写入,例如

package com.omkarsoft.ImagePortofolio;

import java.util.ArrayList;

import com.omkarsoft.ImagePortofolio.dataBaseHelper;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

public class sqlQueries {
     dataBaseHelper database;
     SQLiteDatabase db ;
     UrlList urllist ;

     public sqlQueries( dataBaseHelper dbh , SQLiteDatabase db  )
     {
         database = dbh;
         this.db = db;
     }

      public sqlQueries() {
          System.out.println("no are sqlqueries constructor");
    }

    public void insertIntoCompanyTable( String companyname  ) {

                 db = database.getWritableDatabase(); // this works fine here
            ContentValues values = new ContentValues();
            values.put(dataBaseHelper.COMPANY_NAME, companyname);
            System.out.println(values);
            db.insert(dataBaseHelper.COMPANY_LIST, null, values);
          }

    public int getCompanyID( String companyName)
    {
        int id = 0 ;
        Cursor c = null;

            try {
            db = database.getReadableDatabase(); // this works fine here
                String query = "SELECT company_id FROM company_list WHERE company_name = '"+ companyName +"'";
                c = db.rawQuery(query,null);
            } catch (Exception e) {
                System.out.println("In getCompanyID : " +e);
            }

        if (c != null ) {
            if  (c.moveToFirst()) {
                id = c.getInt(c.getColumnIndex("company_id"));
            } 
        }
        return id;
    }

    public int getCompanies( String comp) {
        int id = 0;
        Cursor c = null;
        ArrayList<String> names = new ArrayList<String>();

        try {
            db = database.getReadableDatabase(); // this works fine here
            String query = "SELECT * FROM company_list ";
            c = db.rawQuery(query, null);
        } catch (Exception e) {
            System.out.println(e);
        }

            if (c != null) {

                if (c.getCount() == 0)
                    id = 1;
                else {
                    if (c.moveToFirst()) {

                        do {
                            String name = c.getString(c.getColumnIndex("company_name"));
                            names.add(name);
                        } while (c.moveToNext());
                    }

                    if( names.contains(comp))
                        id = 0;
                        else
                        id = 1 ;
                }
            }

        return id;
    }

      public void insertIntoImageTable( int companyid , String productname , String productdesc , byte[] bmp )
      {
            try
            {
                        db = database.getWritableDatabase(); // blows here i get a NPE
                ContentValues values = new ContentValues();
                values.put(dataBaseHelper.COMPANY_ID, companyid);           
                values.put(dataBaseHelper.PRODUCT_NAME, productname);
                values.put(dataBaseHelper.PRODUCT_DESCRIPTION, productdesc);
                values.put(dataBaseHelper.PRODUCT_IMAGE, bmp);
                System.out.println(values);
                db.insertOrThrow(dataBaseHelper.IMAGE_DATA, null, values);
                System.out.println(values);
            }
            catch( Exception e)
            {
                e.printStackTrace();
            }
      }
}
tdHelper
作为

SQLiteDatabase db = tdHelper.getWritableDatabase();

我已经发布了完整的班级档案,请看一看
private static class TweetDBOpenHelper extends SQLiteOpenHelper