首页 > 解决方案 > 我无法将我的值插入到我的 SQLite 表中

问题描述

所以我几乎整个圣诞节都在用这个工作,但似乎我实际上找不到方法,我只是因为它而创建了这个帐户。所以,让我们进入代码。

首先,我想警告变量和所有西班牙语,但我认为这不会成为问题。

我一直在获取大量数据,如果我没记错我的 SQL 表中的 53 或 56 列或类似的东西的话。我一直在通过所有应用程序收集数据,并通过“putExtra”通过每个活动获取数据。这是我学校的一个项目,所以我必须使用 SQLite(老实说,我想使用 firebase)所以,无论如何,让我们进入代码,这是重要的东西。

@Override
public void onCreate(SQLiteDatabase BaseDeDatos) {
        //Creamos instancia a nuestra clase de BD
        BaseDeDatos.execSQL("create table datos_personaje (apellido text primary key, nombre text, edad int, genero text, raza text, clase text, " +
                "fuerza int, destreza int, resistencia int, inteligencia int, percepcion int, voluntad int, carisma int, apariencia int, manipulacion int, " +
                "pelea int, atletismo int, robar int, sigilo int, nadar int, montar int, abrirCerr int, resDolorF int, escalar int, evadir int, esquivar int, bloquear int, " +
                "alerta int, supervivencia int, coherencia int, rastrear int, concentracion int, buscar int, esconderse int, resDolorM int, estrategia int, escuchar int, conGeneral int, tasar int, " +
                "mentir int, empatia int, liderazgo int, intimidar int, callejeo int, comercio int, seducir int, protocolo int, convencer int, actuar int, timar int, disfraz int, " +
                "tecnicasHechizos text, inventario text)");
}

这是表的创建,我会说没关系。

public void SQLiteAyuda() {
    Bundle extras = getIntent().getExtras();
    String nombre = extras.getString("nombre");
    String apellidos = extras.getString("apellidos");
    int edad = extras.getInt("edad");
    String genero = extras.getString("genero");

    String raza = extras.getString("raza");
    String clase = extras.getString("clase");

    int f = extras.getInt("principalesF");
    int d = extras.getInt("principalesD");
    int r = extras.getInt("principalesR");

    int i = extras.getInt("principalesI");
    int p = extras.getInt("principalesP");
    int v = extras.getInt("principalesV");

    int c = extras.getInt("principalesC");
    int a = extras.getInt("principalesA");
    int m = extras.getInt("principalesM");

    int pelea = extras.getInt("pelea");
    int atletismo = extras.getInt("atletismo");
    int robar = extras.getInt("robar");

    int sigilo = extras.getInt("sigilo");
    int nadar = extras.getInt("nadar");
    int montar = extras.getInt("montar");

    int abrirCerr = extras.getInt("abrircerr");
    int resDolorF = extras.getInt("resdolorf");
    int escalar = extras.getInt("escalar");

    int evadir = extras.getInt("evadir");
    int bloquear = extras.getInt("bloquear");
    int esquivar = extras.getInt("esquivar");

    int alerta = extras.getInt("alerta");
    int supervivencia = extras.getInt("supervivencia");
    int coherencia = extras.getInt("coherencia");

    int rastrear = extras.getInt("rastrear");
    int concentracion = extras.getInt("concentracion");
    int buscar = extras.getInt("buscar");

    int esconderse = extras.getInt("esconderse");
    int resDolorM = extras.getInt("resDolorM");
    int estrategia = extras.getInt("estrategia");

    int escuchar = extras.getInt("escuchar");
    int conGeneral = extras.getInt("conGeneral");
    int tasar = extras.getInt("tasar");

    int mentir = extras.getInt("mentir");
    int empatia = extras.getInt("empatia");
    int liderazgo = extras.getInt("liderazgo");

    int intimidar = extras.getInt("intimidar");
    int callejeo = extras.getInt("callejeo");
    int comercio = extras.getInt("comercio");

    int seducir = extras.getInt("seducir");
    int protocolo = extras.getInt("protocolo");
    int convencer = extras.getInt("convencer");

    int actuar = extras.getInt("actuar");
    int timar = extras.getInt("conGeneral");
    int disfraz = extras.getInt("disfraz");

    String poderes = extras.getString("tecnicasHechizos");

    String inventario = inventarioText.getText().toString();

我在上次活动中获取了所有数据,因此可以将其放入 SQL 表中:

AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this, "datos_personaje", null, 2);

    SQLiteDatabase BaseDeDatos = admin.getWritableDatabase();

    ContentValues datos = new ContentValues();

    datos.put("nombre", nombre);
    datos.put("apellido", apellidos);
    datos.put("edad", edad);
    datos.put("genero", genero);

    datos.put("raza", r);
    datos.put("clase", c);

    datos.put("fuerza", f);
    datos.put("destreza", d);
    datos.put("resistencia", r);

    datos.put("inteligencia", i);
    datos.put("percepcion", p);
    datos.put("voluntad", v);

    datos.put("carisma", c);
    datos.put("apariencia", a);
    datos.put("manipulacion", m);

    datos.put("pelea", pelea);
    datos.put("atletismo", atletismo);
    datos.put("robar", robar);
    datos.put("sigilo", sigilo);
    datos.put("nadar", nadar);
    datos.put("montar", montar);
    datos.put("abrircerr", abrirCerr);
    datos.put("resdolorf", resDolorF);
    datos.put("escalar", escalar);
    datos.put("evadir", evadir);
    datos.put("esquivar", esquivar);
    datos.put("bloquear", bloquear);

    datos.put("alerta", alerta);
    datos.put("supervivencia", supervivencia);
    datos.put("coherencia", coherencia);
    datos.put("rastrear", rastrear);
    datos.put("concentracion", concentracion);
    datos.put("buscar", buscar);
    datos.put("esconderse", esconderse);
    datos.put("resDolorM", resDolorM);
    datos.put("estrategia", estrategia);
    datos.put("escuchar", escuchar);
    datos.put("conGeneral", conGeneral);
    datos.put("tasar", tasar);

    datos.put("mentir", mentir);
    datos.put("empatia", empatia);
    datos.put("liderazgo", liderazgo);
    datos.put("intimidar", intimidar);
    datos.put("callejeo", callejeo);
    datos.put("comercio", comercio);
    datos.put("seducir", seducir);
    datos.put("protocolo", protocolo);
    datos.put("convencer", convencer);
    datos.put("actuar", actuar);
    datos.put("timar", timar);
    datos.put("disfraz", disfraz);

    datos.put("tecnicasHechizos", poderes);

    datos.put("inventario", inventario);

    BaseDeDatos.insert("datos_personaje", null, datos);

    BaseDeDatos.close();

调试器显示下一个输出:

E/SQLiteLog: (1) 
E/SQLiteDatabase: Error inserting table datos_personaje has no column named coherencia (Sqlite code 1): , while compiling: INSERT INTO datos_personaje(esconderse,sigilo,protocolo,resdolorf,carisma,genero,destreza,inventario,escalar,alerta,liderazgo,raza,rastrear,escuchar,inteligencia,pelea,edad,disfraz,abrircerr,buscar,manipulacion,comercio,evadir,nadar,actuar,resDolorM,bloquear,conGeneral,resistencia,coherencia,mentir,apariencia,estrategia,tasar,montar,esquivar,robar,nombre,fuerza,clase,supervivencia,atletismo,callejeo,apellido,intimidar,timar,tecnicasHechizos,concentracion,voluntad,percepcion,seducir,convencer,empatia) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?), (OS error - 2:No such file or directory)

标签: android-studio

解决方案


推荐阅读