2017-07-08 136 views
-1

我正在写一个简单的登录应用程序,我遇到了麻烦登录控制到我的数据库。我添加了assest教室数据库,但它仍然没有看到数据库。当我点击login.xml页面上的“Giris”按钮后,我收到此错误:E/SQLiteLog:(1)没有这样的表:KisilerTable D/AndroidRuntime:关闭虚拟机 E/AndroidRuntime:致命异常:主要 进程:com.tatlicilar.sosyalmedyauygulamasi,PID:5397 android.database.sqlite.SQLiteException:没有这样的表:KisilerTable(代码1):,编译时:SELECT * FROM KisilerTable WHERE isim =?Android SQLite:没有这样的表

///登录活动

public class Login extends AppCompatActivity implements 

    View.OnClickListener{ 
     EditText name,pass; 
     ArrayList<Kisi> uyeler; 
     String loginIsim, loginPass; 
     Intent intent; 
     DBAdapter dbHelper=new DBAdapter(this); 
     Button btnLogin; 

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

    name = (EditText) findViewById(R.id.loginName); 
    pass = (EditText) findViewById(R.id.password); 
    btnLogin=(Button)findViewById(R.id.girisBtn); 
    btnLogin.setOnClickListener(this); 

} 
public void onClick(View v) { 
    switch (v.getId()) { 
     case R.id.girisBtn: 
      loginIsim = name.getText().toString(); 
      loginPass = pass.getText().toString(); 
      Log.w(".............. ",""); 
      String password = dbHelper.getSinlgeEntry(loginIsim); 
      Log.w("string password ","................"); 
      //Password Contol 
      if (loginPass.equals(password)) { 
       Log.w("İf","............................................."); 
       intent = new Intent(this, HomePage.class); 
       startActivity(intent); 
      } else { 
       Log.w("come", "else"); 
      } 
      break; 
     case R.id.uyeBtn: 
      intent = new Intent(this, Register.class); 
      startActivity(intent); 
      break; 
    }} 

}

//DBAdapter.java

public class Login extends AppCompatActivity implements 
     View.OnClickListener{ 
     EditText name,pass; 
     ArrayList<Kisi> uyeler; 
    String loginIsim, loginPass; 
    Intent intent; 
    DBAdapter dbHelper=new DBAdapter(this); 
    Button btnLogin; 

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

    name = (EditText) findViewById(R.id.loginName); 
    pass = (EditText) findViewById(R.id.password); 
    btnLogin=(Button)findViewById(R.id.girisBtn); 
    btnLogin.setOnClickListener(this); 


} 
public void onClick(View v) { 
    switch (v.getId()) { 
     case R.id.girisBtn: 
      loginIsim = name.getText().toString(); 
      loginPass = pass.getText().toString(); 
      Log.w(".............. ",""); 
      String password = dbHelper.getSinlgeEntry(loginIsim); 
      Log.w("string password ","................"); 
      //Password Contol 
      if (loginPass.equals(password)) { 
       Log.w("İf","............................................."); 
       intent = new Intent(this, HomePage.class); 
       startActivity(intent); 
      } else { 
       Log.w("come", "else"); 
      } 
      break; 
     case R.id.uyeBtn: 
      intent = new Intent(this, Register.class); 
      startActivity(intent); 
      break; 
    }} 

}

+1

后正确DBAdapter.java类 – FAT

回答

0

类DBAdapter.java内容是错误的代码。是登录Activity.change

0

您的表格KisilerTable没有正确创建在SQLite数据库。您正在以错误的方式创建DBAdapter实例。您应该在Activity生命周期method内创建DBAdapter实例。

更新如下:

public class Login extends AppCompatActivity implements View.OnClickListener { 

    ....... 
    ............. 

    DBAdapter dbHelper; 

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

     dbHelper = new DBAdapter(this); 
    } 

    ....... 
    .............. 
} 

希望它帮助〜