所以我想實現一個Cursor到我的類,所以我可以填充我的數據網格(不知道這是否正確的方式來做到這一點,當我需要使用可調用SP和準備語句)這是我從這個guide here做,但我得到了在AsyncTask PreparedStatement上的光標實現
DataGridActivity.Itemnumber不是抽象的,在光標不重寫抽象方法響應(束)
我不知道如何實現的抽象方法這裏作爲我 正常使用getstring methode爲我準備好的語句不知道是否有某種方式我可以做到這一點,而不是來填充我的網格,而不是使用遊標
public class Itemnumber extends AsyncTask<String,String,String> implements Cursor {
String z = "";
@Override
protected void onPreExecute() {
}
@Override
protected void onPostExecute(String r) {
}
@Override
protected String doInBackground(String... params) {
try {
Connection con = connectionClass.CONN();
if (con == null) {
z = "Error in connection with SQL server";
} else {
PreparedStatement preparedStatement = null;
String sqli = "select ID,ItemNumber,Trashed,Sold from [file].[Item] where [ItemNumber] =?";
preparedStatement = con.prepareStatement(sqli);
preparedStatement.setString(1, "test");
ResultSet rs = preparedStatement.executeQuery();
if (rs.next()) {
} else {
}
}
} catch (Exception ex) {
z = "Exceptions";
}
return z;
}
@Override
public Bundle respond(Bundle extras){
moveToFirst();
return Bundle.EMPTY;
}
}
我Datagrid的活動類
Cursor csr = new Itemnumber();
//create DataTable object
DataTable dtDataSource = new DataTable();
//define column
dtDataSource.addAllColumns(new String[]{"column_1", "column_2","column_3", "column_4});
//create DataRow
DataTable.DataRow drRow;
//populate data from cursor into DataSource
if(csr.moveToFirst()){
do{
drRow = dtDataSource.newRow();
drRow.set("column_1", csr.getString(csr.getColumnIndex("field_1")));
drRow.set("column_2", csr.getString(csr.getColumnIndex("field_2")));
drRow.set("column_2", csr.getString(csr.getColumnIndex("field_3")));
drRow.set("column_4", csr.getString(csr.getColumnIndex("field_4")));
dtDataSource.add(drRow);
} while(csr.moveToNext());
csr.close();
}
/**
* Prepare the DataGrid
*/
//initialize DataGrid
DataGrid dg = (DataGrid)findViewById(R.id.datagrid);
//define column style, bond each DataGrid column by DataTable column
dg.addColumnStyles(new DataGrid.ColumnStyle[]{
new DataGrid.ColumnStyle(getString(R.string.ID), "column_1", 80),
new DataGrid.ColumnStyle(getString(R.string.ItemNumber), "column_2", 120),
new DataGrid.ColumnStyle(getString(R.string.Trashed), "column_3", 100),
new DataGrid.ColumnStyle(getString(R.string.Sold), "column_4", 150)
});
//set the DataTable as source
dg.setDataSource(dtDataSource);
//generate the DataGrid
dg.refresh();
是什麼那進口android.database.Cursor; –