마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 스튜디오 게시판 SQLite 오류 질문

0 추천
package com.example.korea.englishcommunity;
import android.content.Intent;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.widget.AdapterView;

import android.widget.Button;

import android.widget.ListView;


public class listview extends AppCompatActivity {


    SQLiteDatabase db;

    MySQLiteOpenHelper helper;

    ListView listView;

    itemListAdapter adapter;

    String num;

    String sub;

    String name;

    String day;

    String content;

    Button writebtn;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.list);


        //list를 불러와야하기 때문에 db를 연결시켜준다

        helper = new MySQLiteOpenHelper(listview.this,

                "customer.db",

                null,

                1);


        //그리고 listview와 adapter를 설정해준다

        listView = (ListView)findViewById(R.id.listView);

        adapter = new itemListAdapter(this);


        String[] arr= new String[5];


        //쿼리문을 설정해주고

        db = helper.getReadableDatabase();

        Cursor c = db.rawQuery("select * from bord", null);

        //while문으로 원하는값을 변수에 담아준다

        //그리고 곧바로 뿌려준다

        while (c.moveToNext()){


            arr[0] = num = c.getString(c.getColumnIndex("Num"));

            arr[1] = sub = c.getString(c.getColumnIndex("Subject"));

            arr[2] = name = c.getString(c.getColumnIndex("Name"));

            arr[3] = day = c.getString(c.getColumnIndex("Day"));

            arr[4] = content = c.getString(c.getColumnIndex("Content"));


            adapter.additem(new Item(arr));

            arr = new String[5];


        }


        listView.setAdapter(adapter);


        //해당 listView를 클릭하게 되면 상세보기 화면으로 넘어가게끔 설정

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override

            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                Intent intent = new Intent(getApplicationContext(), Item.class);


                Item curItem = (Item)adapter.getItem(position);

                String[] curData = curItem.borditemdate();

                intent.putExtra("Item",curData);

                startActivity(intent);

            }

        });


        //글쓰기 버튼을 클릭하게 되면 글쓰기 화면으로 넘어게가끔 설정

        writebtn = (Button)findViewById(R.id.button7);

        writebtn.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                Intent intent = new Intent(getApplicationContext(), write.class);

                startActivity(intent);

                finish();

            }

        });


    }

}
package com.example.korea.englishcommunity;
import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;


/**

 * Created by ntsysMac01 on 2015-12-21.

 */


//이 클래스는 helper로 db를 커넥션 연동 시키기 위해서 꼭 필요한 클래스 이다


public class MySQLiteOpenHelper extends SQLiteOpenHelper{

    public MySQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {

        super(context, name, factory, version);

    }


    @Override

    public void onCreate(SQLiteDatabase db) {


    }


    @Override

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {


    }

}
리스트뷰와 MySQLiteOpenHelper 자바 소스입니다. 에러에android.database.sqlite.SQLiteException: no such table: bord (code 1): , while compiling: select * from bord라고 뜨는데 도와주세요. 
익명사용자 님이 2018년 6월 16일 질문

1개의 답변

0 추천

MySQLiteOpenHelper.onCreate() 메서드 내에서

bord table을 생성하세요.

디자이너정 (42,810 포인트) 님이 2018년 6월 16일 답변
메일 주소 알려주시면 개인적으로 제 파일좀 봐주실 수 있을까요?
매서드 내에 bord table을 어떻게 생성하는 건지 잘 모르겠습니다.
...