안녕하세요 안드로이드를 막 시작한 초짜입니다. ㅠㅠ
안드로이드에서 sqlite를 사용하는 것이 잘 안되서 질문을 올립니다.
단순한 구조 입니다.
디비를 생성하고 테이블을 만들며 데이터를 넣고 검색하여 그 결과값을 화면에 보여 주고 싶은데
계속 에러가 나네요 ㅠㅠ 고수님들 도와 주십시오
-------------------------------------------------------------------------------------------------------------------------------------------------------------
public class DBtest3 extends Activity {
/** Called when the activity is first created. */
private DataBaseHelper dbh ;
private SQLiteDatabase sdb;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
TextView tv = new TextView(this);
dbh = new DataBaseHelper(this);
sdb = dbh.getWritableDatabase();
AccountDAO dao = new AccountDAO(sdb);
long inserLong = dao.insert("20090710", "000000", "20090710", "000000", "20090717", "000000", "1", "0");
String accountValue[] = dao.selectAll();
tv.setText("inserValue = "+inserLong);
tv.append("\n");
tv.append(accountValue[0]);
tv.append("\n");
tv.append(accountValue[1]);
tv.append("\n");
tv.append(accountValue[2]);
tv.append("\n");
tv.append(accountValue[3]);
tv.append("\n");
tv.append(accountValue[4]);
setContentView(tv);
}
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------
public class AccountDAO {
private static final String DATABASE_TABLE = "account";
private static final String[] ACCOUNT_ALL_DATA = {"numid","accountYmd","accountTime",
"startYmd","startTime","endYmd","endTime","accountState","addYmd"};
private SQLiteDatabase mDb;
public AccountDAO (SQLiteDatabase db){
mDb = db;
}
public long insert(String accountYmd , String accountTime , String startYmd,
String startTime , String endYmd,String endTime, String accountState, String addYmd){
ContentValues values = new ContentValues();
values.put("accountYmd",accountYmd);
values.put("accountTime",accountTime);
values.put("startYmd",startYmd);
values.put("startTime",startTime);
values.put("endYmd",endYmd);
values.put("endTime",endTime);
values.put("accountState",accountState);
values.put("addYmd",addYmd);
return mDb.insert("account", null, values);
}
public String[] selectAll(){
String[] data = new String[8];
Cursor cursor = mDb.query(DATABASE_TABLE,ACCOUNT_ALL_DATA,null,null,null,null,null);
while(cursor.moveToNext()){
data[0] = ""+cursor.getInt(0);
data[1] = cursor.getString(1);
data[2] = cursor.getString(2);
data[3] = cursor.getString(3);
data[4] = cursor.getString(4);
data[5] = cursor.getString(5);
data[6] = cursor.getString(5);
data[7] = cursor.getString(5);
}
return data;
}
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------
public class DataBaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "account2" ;
private static final int DATABASE_VERSION = 1;
private static final String CREATE_ACCOUNT_TABLE_SQL = "create table account "
+ "(_numid integer primary key autoincrement, "
+ "accountYmd varchar(8) , "
+ "accountTime varchar(6), "
+ "startYmd varchar(8) , "
+ "startTime varchar(6) , "
+ "endYmd varchar(8) , "
+ "endTime varchar(6) , "
+ "accountState varchar(8) , "
+ "addYmd varchar(8) );";
public DataBaseHelper(Context context) {
//Create DB
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(CREATE_ACCOUNT_TABLE_SQL);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP table if exists account");
onCreate(db);
}
}
제발 가르쳐 주세요 ㅠㅠ
이틀째 고생하고 있어요 ㅠㅠ
디비 사용시 좀 더 소스를 깨끗하게 짜는 팁이나 , 소스 , 예제를 알고 계시면 가르쳐 주십시오 ㅠㅠ
두번 째 질문은 테이블이나 디비가 있나 없나 검사를 하고 싶은데
SQLiteDatabase openDatabase를 사용하는 것이 맞는 지요 ??
아시는 분은 사용법도 가르쳐주십시오 ㅠㅠ
`죄송합니다.
조심하겠습니다. 로그캣이란 것을 몰랐는데 친절하게 가르쳐 주셔서 감솨합니다.
이 빨간 부분이 에러 입니까? ^^;;;;;