java - 使用jdbc将android应用程序连接到mysql时捕获异常

标签 java android

public class MainActivity extends Activity {
Button login,signup;
EditText name,pass;
ResultSet res;
int a=0;

为 xml 页面中的 View 设置 id

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    login=(Button)findViewById(R.id.login);
    signup=(Button)findViewById(R.id.sign);
    name=(EditText)findViewById(R.id.username);
    pass=(EditText)findViewById(R.id.password);

点击“登录”按钮建立mysql连接。

    login.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {

            String n=name.getText().toString();
            String p=pass.getText().toString();
            Connection co
            Statement st;
            try
            {
             Class.forName("com.mysql.jdbc.Driver")
 co =DriverManager.getConnection("jdbc:mysql://localhost             /mcon","root","");

从mysql的登录“表”中检索数据。i在登录表中存储了两个字段,用户名和密码具有相同的值“admin”。在登录按钮上,如果用户在编辑文本中输入正确的admin,admin,单击页面将定向到管理页面。

st = co.createStatement();
res=st.executeQuery("select * from login");
Boolean rec = res.next();
                if (!rec) 
              {
             Toast.makeText(getApplication(),"norecordinthetable",
      Toast.LENGTH_LONG).show(                    );

                } 
                 else {
                    do {
                        String s3 = res.getString(1);
                        String s4 = res.getString(2);

                        if (n.equals(s3) && p.equals(s4)) 
      Intent iii=new Intent(MainActivity.this,Admin.class);
                   startActivity(iii);
                            a = 1;
                            break;
                        }
                    } while (res.next());
                }
                    if (a == 0)
           {
   Toast.makeText(getApplication(),"wrongName/Password",
           Toast.LENGTH_LONG).show();
                        name.setText("");
                        pass.setText("");
                    }               
                      st.close();
                co.close();
            } catch (Exception e) {
Toast.makeText(getApplication(), "error",Toast.LENGTH_LONG).show();

            }       

        }
    });

最佳答案

jdbc确实是一个过期的框架,尝试使用一些新的框架,例如mybaits。您将为mybaits的广泛使用获得更多帮助。

关于java - 使用jdbc将android应用程序连接到mysql时捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42850109/

相关文章:

java - 来自 Java 的 SVN 分支信息

android - 在没有用户交互的情况下更改android中的默认家庭应用程序

android - 模块的依赖项详细信息多次显示相同的依赖项

android - 无法将类型 'Android.Support.V4.App.Fragment' 转换为 'Android.Gms.Maps.MapFragment'

java - lucene 忽略对默认字段以外的字段的查询

java - Android Dx Error1,无法转换为 Dalvik 格式

java - 在属性文件中访问系统属性

java - 获取 Grails 中最受欢迎的项目

java - 如何在应用程序中使用不同语言进行 TTS 语音朗读?

android - 链接 Sceneform 节点/对象以一起缩放和移动