Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/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
Java 在SQLite Android中发现“没有这样的表”错误_Java_Android - Fatal编程技术网

Java 在SQLite Android中发现“没有这样的表”错误

Java 在SQLite Android中发现“没有这样的表”错误,java,android,Java,Android,我想为我的技术课程开发一个程序。但是,我的安卓系统有问题,我不知道如何解决它。如果有人帮助我,我将非常感激 我的家庭片段活动: @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); carregaLista();

我想为我的技术课程开发一个程序。但是,我的安卓系统有问题,我不知道如何解决它。如果有人帮助我,我将非常感激

我的家庭片段活动:

@Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        carregaLista();
        registerForContextMenu(listaPedidos);
    }

    private void carregaLista() {
        PedidoDAO dao = new PedidoDAO(getContext());
        List<PedidoDTO> pedidos = dao.buscaPedidos();
        dao.close();

        listaPedidos = (ListView) getView().findViewById(R.id.lista_pedidos);
        ArrayAdapter<PedidoDTO> adapter = new ArrayAdapter<PedidoDTO>(getContext(),  android.R.layout.simple_list_item_1, pedidos);
        listaPedidos.setAdapter(adapter);

        TextView view = (TextView) getView().findViewById(R.id.textview_nao_ha_pedidos);
        String resultadoo = dao.haPedidos();
        if (resultadoo == null){
            view.setText("Não há solicitações cadastradas");
        }
    }
当我尝试登录系统时,LogCat显示:

2020-07-11 13:19:00.6422686-2686/br.com.app.hemosis E/SQLiteLog:1没有这样的表格:Pedido 2020-07-11 13:19:00.650 2686-2686/br.com.app.hemosis E/AndroidRuntime:致命异常:主要 流程:br.com.app.hemosis,PID:2686 android.database.sqlite.SQLiteException:没有这样的表:Pedido代码1 sqlite_错误[1]:,编译时:从Pedido选择*


OBS:我是巴西人,英语不太好。很抱歉出现语法错误。

在PedidoDAO类中,请用constructor回复oncreate

public PedidoDAO(Context context_)
{
     SQLiteDatabase db = getReadableDatabase();
     String sql = "CREATE TABLE Pedido(" +
            "id_pedido INTEGER PRIMARY KEY," +
            "nome_solicitante TEXT NOT NULL," +
            "email_solicitante TEXT NOT NULL," +
            "nome_paciente TEXT NOT NULL," +
            "tipo_sanguineo TEXT NOT NULL," +
            "local_internacao TEXT NOT NULL," +
            "estado TEXT NOT NULL," +
            "cidade TEXT NOT NULL," +
            "motivo TEXT NOT NULL," +
            "outras_info TEXT);";
    db.execSQL(sql);
}

您还可以使用Room持久性库:通过此更改,我可以第一次登录,但是,在第一次出现错误后,显示Pedido表已经存在。你知道我是怎么解决的吗?试试这个查询如果不存在创建表。。。
public PedidoDAO(Context context_)
{
     SQLiteDatabase db = getReadableDatabase();
     String sql = "CREATE TABLE Pedido(" +
            "id_pedido INTEGER PRIMARY KEY," +
            "nome_solicitante TEXT NOT NULL," +
            "email_solicitante TEXT NOT NULL," +
            "nome_paciente TEXT NOT NULL," +
            "tipo_sanguineo TEXT NOT NULL," +
            "local_internacao TEXT NOT NULL," +
            "estado TEXT NOT NULL," +
            "cidade TEXT NOT NULL," +
            "motivo TEXT NOT NULL," +
            "outras_info TEXT);";
    db.execSQL(sql);
}