2013-02-17 2 views
1

안녕하세요 사람들은 로그인 인증을 위해 두 계정을 수동으로 테이블에 삽입 한 다음 계정 유형에 따라 일부 작업을 수행하는 간단한 애플리케이션을 만들고 있습니다. Sqlite 함수 설정에 문제가 있습니다. 나는 하나의 패키지 com.example.emp_management를 가지고 있으며, 2 개의 클래스 MainActivity.java와 Database_Wrap.java를 가지고있다. 내가하고 싶은 이제 다음 것은 내 mainactivity에Android Sqlite 데이터베이스 설정 문제

package com.example.emp_management; 


import android.content.Context; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 

public class Database_Wrap   //hotornot 
{ 
public static final String Database_name = "Employee_Managament_System"; 
public Sql_Lite_Work OurHelper; 
public final Context OurContext; 
public SQLiteDatabase ourDatabase; 

public static class Sql_Lite_Work extends SQLiteOpenHelper 
{ //dbhelper = sql_lite_work 

    public Sql_Lite_Work(Context context) 
    { 
     super(context,Database_name , null, 1); 
     // TODO Auto-generated constructor stub 
    } 
    @Override 
    public void onCreate(SQLiteDatabase db) 
    { 
     // TODO Auto-generated method stub 

     db.execSQL("CREATE TABLE" + "Login_Authentication"+ "(" + 
       "ID" + "INTEGER PRIMARY KEY AUTOINCREMENT, " + 
       "UserName" + "TEXT NOT NULL," + 
       "Password" + "TEXT NOT NULL);"     
       ); 

    } 
    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
    { 
     // TODO Auto-generated method stub 

     db.execSQL("DROP TABLE IF EXISTS " + "Login_Authentication"); 
     onCreate(db); 
    } 


} 
public Database_Wrap(Context c) 
{ 
    OurContext = c; 
} 
public Database_Wrap Open() 
{ 
    OurHelper = new Sql_Lite_Work(OurContext); 
    ourDatabase = OurHelper.getWritableDatabase(); 
    return this; 
} 
public void close() 
{ 
    OurHelper.close(); 
} 
} 

내가 좋아하는 뭔가를하고 싶지 : 다음 Database_Wrap.java에 대한 코드는 아래와 같습니다 다음

Database_Wrap entry= new Database_Wrap(MainActivity.this); 

및 Database_Wrap 작성 기능을 액세서 데이터베이스를 열고 관리자 및 다른 사용자를 위해 테이블에 값을 작성하십시오.

entry.Open(); 

그러나 이클립스는 입력시 열린 함수에 액세스 할 수 없습니다. 나는 여기서 무엇이 잘못되었는지 알지 못한다. 초보자 야. 뭔가를 잊어 버릴 수도 있습니다. 친절하게 고맙다!

+0

요점은 항목을 쓸 때입니다. 나는 이클립스에서 아무 것도 얻지 못한다. Open 또는 .open은 여기에 요점이 아니다. – Alfred

+1

Java에서 @GreenGuerilla 메소드는 소문자 (Java 규칙)로 시작한다. – m0skit0

답변

0

코드를 작은 테스트 프로젝트에 넣었습니다. 그것은 잘 컴파일됩니다. 그런 다음 동일한 프로젝트의 Activity에서이 코드를 추가했습니다.

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Database_Wrap entry= new Database_Wrap(MainActivity.this); 
    entry.Open(); 
} 

그래도 문제가 없습니다.

코드의 출현으로 판단하면 (전혀 잘못된 점이 없으며, 경험이 풍부한 Java 개발자는 멋지게 만든다.), Java를 처음 접하는 사람이다. 아마도 너무 일식. 이클립스는 이상하고 항상 펑키 한 것들을한다. 아마도 당신은 단기간의 이상 현상을 만났을 것입니다.

1

Java는 대소 문자를 구분합니다. 시도 : Wrap에서

Database_Wrap entry= new Database_Wrap(MainActivity.this); 

모두 당신의 w의 소문자했다.

+0

나는 당신이 지적한 것들이 이미 내 코드에서 다루어지고있는 내 질문에 올바른 대답을했다. 거기에 더 이상 정확한 메시지에 대한 이클립스의 문제 탭에서 알프레드 체크 – Alfred

+0

알아낼 수없는 뭔가가있다 –