2017-02-23 12 views
1

sqliteデータベースで作業していますが、カーソルがついていません。このエラーを解消できません。ここではLogcatで示されているような完全なエラーです。私のAndroidコードのカーソルレベルでエラーが発生しました

問題:java.lang.IllegalStateException:行0、列-1をCursorWindowから読み取れませんでした。カーソルがデータにアクセスする前に、カーソルが正しく初期化されていることを確認してください。

と私のコードはこれです:

ここ ​​

である私の主な活動コード:

public class MainActivity extends AppCompatActivity { 

    EditText inputBox; 
    EditText inputNameBox; 
    TextView display; 
    dbHelper myHelper; 


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

     inputBox =(EditText)findViewById(R.id.inputBox); 
     inputNameBox=(EditText)findViewById(R.id.inputName); 
     display=(TextView) findViewById(R.id.display); 
     myHelper=new dbHelper(this, null, null, 1); 
     printDatabase(); 

    } 

    public void printDatabase(){ 
     String dbString=myHelper.dataBaseToString(); 
     display.setText(dbString); 
     inputBox.setText(""); 
     inputNameBox.setText(""); 
    } 



    public void addOnclick(View view) { 
     Job job=new Job(inputBox.getText().toString(),inputNameBox.getText().toString()); 

     myHelper.addJob(job); 
     printDatabase(); 
    } 

    public void deleteOnClick(View view) { 
     String input=inputBox.getText().toString(); 
     myHelper.deleteJob(input); 
     printDatabase(); 
    } 
} 

、ここでは私の他のクラスの仕事です:

public class Job { 

    private int _id; 
    private String jobName; 
    private String description; 


//empty constructor 
    public Job() { 

    } 

    public Job(String name) 
    { 
     this.jobName=name; 
    } 

    public Job(String name,String description) { 
     this.jobName=name; 
     this.description = description; 
    } 


    public Job(int id,String name, String description) { 
     this._id = id; 
     this.jobName=name; 
     this.description = description; 
    } 

    public String getName() { 
     return jobName; 
    } 

    public void setName(String name) { 
     this.jobName = name; 
    } 

    public int getId() { 
     return _id; 
    } 

    public void setId(int id) { 
     this._id = id; 
    } 

    public String getDescription() { 
     return description; 
    } 

    public void setDescription(String description) { 
     this.description = description; 
    } 
} 
+1

の中の任意の行番号があるあなたの変数COLUMN_NAMEを使用してお勧めしたいですログ? –

答えて

0

ます」作成クエリにコンマがありません:

COLUMN_NAME +" Text, "+ 

そのような列がgetColumnIndexが戻っている理由-1

をしている存在していないとして、私はまた、代わりにハードコードされた"name"

+0

あなたが言ったように今修正しましたが、それでも同じエラーが表示され続けます – Luis3506

+0

データをクリアしましたか? onCreate()が再び呼び出され、テーブルを再定義する必要があります。 – Jahnold

+0

データを消去することはどういう意味ですか? – Luis3506

関連する問題