this is the first time I am developing an android application. I want to bind some data with grid view or list view based employee id provided on the text box. How can I do that. Please help me to find a proper solution. Thank you.
ConnectionClass.java:
import android.annotation.SuppressLint;
import android.os.StrictMode;
import android.util.Log;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
/**
* Created by H-PC on 16-Oct-15.
*/
public class ConnectionClass {
String ip = "******";
String classs = "net.sourceforge.jtds.jdbc.Driver";
String db = "IDB";
String un = "sa";
String password = "admin123";
@SuppressLint("NewApi")
public Connection CONN() {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(policy);
Connection conn = null;
String ConnURL = null;
try {
Class.forName(classs);
ConnURL = "jdbc:jtds:sqlserver://" + ip + ";"
+ "databaseName=" + db + ";user=" + un + ";password="
+ password + ";";
conn = DriverManager.getConnection(ConnURL);
} catch (SQLException se) {
Log.e("ERRO", se.getMessage());
} catch (ClassNotFoundException e) {
Log.e("ERRO", e.getMessage());
} catch (Exception e) {
Log.e("ERRO", e.getMessage());
}
return conn;
}
}
-------------------------------------------------------------------------------
MainActivity.java:
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.view.View.OnClickListener;
import java.sql.Connection;
public class MainActivity extends AppCompatActivity {
Button button1;
TextView txtView1;
EditText editText1;
ConnectionClass connectionClass;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
connectionClass = new ConnectionClass();
button1=(Button)findViewById(R.id.btnSearch);
txtView1=(TextView)findViewById(R.id.searchLbl);
editText1=(EditText)findViewById(R.id.txtSearch);
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
String newValue = editText1.getText().toString().trim();
if (newValue.toString().trim().equals("")) {
txtView1.setText("Please Enter ID");
}
else
{
Connection con = connectionClass.CONN();
if(con==null)
{
String msg="Error in SQL Connection";
}
else
{
String query= "Select * From Employees Where EmpId='"+newValue+"'";
}
}
}
});
}
}
---------------------------------------------------------------------------
Text
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.example.laptop37.myapplication2.MainActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<EditText
android:layout_width="285dp"
android:layout_height="42dp"
android:id="@+id/txtSearch"
android:layout_weight="1"
android:textColor="@color/material_deep_teal_500"
android:hint="enter id"
android:layout_gravity="center_vertical"
android:layout_below="@+id/textHeading"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="30px"
android:background="#b1e1b1"
android:layout_marginLeft="10px"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Employee Data"
android:id="@+id/textHeading"
android:layout_weight="1"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="30px"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:textAlignment="center"
android:textColor="#2eb114"
android:textSize="70px"
/>
<Button
android:layout_width="85dp"
android:layout_height="42dp"
android:text="Search"
android:id="@+id/btnSearch"
android:layout_weight="0.43"
android:background="@color/background_material_dark"
android:textColor="#ffffff"
android:layout_gravity="center_vertical"
android:layout_alignBottom="@+id/txtSearch"
android:layout_toRightOf="@+id/txtSearch"
android:layout_toEndOf="@+id/txtSearch"
android:layout_marginLeft="10px"
android:layout_marginStart="10px"
android:layout_marginRight="10px"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/searchLbl"
android:layout_below="@+id/txtSearch"
android:layout_alignLeft="@+id/txtSearch"
android:layout_alignStart="@+id/txtSearch"
android:layout_marginTop="64dp" />
<GridView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/gridViewEmp"
android:layout_alignRight="@+id/txtSearch"
android:layout_alignEnd="@+id/txtSearch"
android:layout_below="@+id/txtSearch" />
</RelativeLayout>
</RelativeLayout>
</android.support.design.widget.CoordinatorLayout>
-------------------------------------------------------------------------------
Table(Employees):
EmpId EmpName Designation Gender Age Mob Address
----- ------- ----------- ------ --- --- -------
1 asd ttt M 30 fghfhfh
2 dfg yyy F 26 fhgfhfhf
3 dfhh ppp M 47 fghhfghf
--------------------------------------------------------------------------------
Design:
将数据库导出到App中的Assets
文件夹,然后通过它获取详细信息。
You cant access sql server directly...
First you need to make a web service because your database sits on your host not on your phone memory card, web service process a request from app and responds accordingly.That is, you pass some SQL query parameters from app to the web service and let your web service handle the request. This web service can be of any type JAVA, PHP, etc. You just need to use standard HTTP methods. click
Here is an example of how you can display data gathered from a database in to a listview.
final ListView listView = getListView();
final String[][] _customerData = MySQL.Get("SELECT Id,Name,Surname FROM customers");
final List<Integer> _currentCustomerIDs = new ArrayList<>();
final List<String> _nameList = new ArrayList<>();
for (String[] customer : _customerData)
{
_currentCustomerIDs.add(Integer.valueOf(customer[0]));
_nameList.add(customer[2] + " " + customer[1]);
}
listView.invalidateViews();
listView.setTextFilterEnabled(true);
listView.setAdapter(getListAdapter());
setListAdapter(new ArrayAdapter<>(this, R.layout.customer_list, _nameList.toArray()));
You need to make a select query, then declare a list of integers, iterate through that list, add it to your arraylist, and finally add it to your listview.
Above is an example adding integers as well as strings to your list with data gathered from a jdbc database.
Good luck, Hope it helps!
in that case you
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
String newValue = editText1.getText().toString().trim();
if (newValue.toString().trim().equals("")) {
txtView1.setText("Please Enter ID");
}
else
{
Connection con = connectionClass.CONN();
if(con==null)
{
String msg="Error in SQL Connection";
}
else
{
try {
st = con.createStatement();
// set the result in result set then fetch it
rs = st.executeQuery("Select * From Employees Where EmpId='"+newValue+"'");
if (rs.next()){
Toast.makeText(getApplicationContext()," EmpId :. " + rs.getString("EmpId")+" EmpName :. "+rs.getString("EmpName")+ " Designation :. " + rs.getString("Designation")+" Gender :. "+rs.getString("Gender")+" etc..",LENGTH_LONG).show();
}else{
// you have no record
}
}
}
}
});
});
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.