انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جستجو برای دیتابیس خارجی

جستجو برای دیتابیس خارجی

#1
سلام 
چطور میشه برای بانک خارجی db. یک search نوشت
در برنامم رکورد اضافه میکنه ولی جستجو  چگونه است
این هم کدها

bankword.java
کد:
import android.support.v7.app.ActionBarActivity;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.View.OnClickListener;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;



public class Bankword extends Activity {
    final String tbankb = "tbank";
    final String tblbankb = "tblbank";
    Databaseb myDbHelperb;
    SQLiteDatabase dbb = this.getWritableDatabase();
   ListAdapter adapterb;
   ArrayList<HashMap<String, String>> datab;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.bankword);
       
       final Button ibbt = (Button) findViewById(R.id.button1);
       final EditText searchbank = (EditText) findViewById(R.id.searchview);
       ListView lstb=(ListView) findViewById(R.id.listViewbank);
       Load_Database();
       dbb = myDbHelperb.getReadableDatabase();
       Cursor    c = dbb.rawQuery("select * from tblbank", null);
           datab = new ArrayList<HashMap<String, String>>();
           for (; c.moveToNext();) {
               HashMap<String, String> mapb = new HashMap<String, String>();
               String stshaer = c.getString(c.getColumnIndex("tbank"));
               mapb.put("tbank", stshaer);
               datab.add(mapb);
           }
           adapterb = new list_viewb(this, datab);
           lstb.setAdapter(adapterb);
           ibbt.setOnClickListener(new OnClickListener() {
                public void onClick(View arg0) {
                    
                    ContentValues values = new ContentValues();
                    values.put(tbankb, "موسی");
                    dbb.insert(tblbankb, null, values);
                   }
               });
           searchbank.addTextChangedListener(new TextWatcher() {
               @Override
               public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
                   
               }
        
               @Override
               public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                       int arg3) {
               }
        
               @Override
               public void afterTextChanged(Editable arg0) {

                   
                    dbb.rawQuery("SELECT * FROM"+ tblbankb +" WHERE"+ tbankb +"like '" +  " LIKE  '"+ searchbank.getText()+"%'", null);
               }
           });
       }
   private SQLiteDatabase getWritableDatabase() {
        // TODO Auto-generated method stub
        return null;
    }
    private void Load_Database() throws Error {
       myDbHelperb = new Databaseb(Bankword.this);
       try {
           myDbHelperb.createDataBase();
       } catch (IOException ioe) {

           throw new Error("Unable to create database");
       }

       try {

           myDbHelperb.openDataBase();
       } catch (SQLException sqle) {
           throw sqle;

       }
   }
}


bankword.xml
کد:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context="ir.ooza.shaer.Bankword" >
   <EditText
       android:id="@+id/searchview"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_alignParentLeft="true"
       android:layout_alignParentTop="true"
       android:drawableRight="@android:drawable/ic_menu_search"
       android:ems="10"
       >

       <requestFocus />
   </EditText>
   <ListView
       android:id="@+id/listViewbank"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_centerHorizontal="true"
       android:layout_centerVertical="true"
       android:layout_marginTop="200dp" >

   </ListView>

   <Button
       android:id="@+id/button1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentBottom="true"
       android:layout_centerHorizontal="true"
       android:layout_marginBottom="20dp"
       android:text="Button" />

</RelativeLayout>

Databaseb.java
کد:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import android.annotation.SuppressLint;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;


@SuppressLint("SdCardPath")
public class Databaseb extends SQLiteOpenHelper {

    String DB_PATHb = null;
   public static String DB_NAMEb = "wbank";
   private SQLiteDatabase myDataBaseb;
   private final Context myContextb;
   @SuppressLint("SdCardPath")
    public Databaseb(Context context) {
       super(context, DB_NAMEb,null, 2);
      this.myContextb = context;
       DB_PATHb = "/data/data/" + context.getPackageName() + "/" + "databases/";
   }
   public void createDataBase() throws IOException {
       boolean dbExist = checkDataBase();
       if (dbExist) {
       } else {

           this.getReadableDatabase();

           try {

               copyDataBase();

           } catch (IOException e) {

               throw new Error("Error copying database");

           }
       }

   }
   
   private boolean checkDataBase() {

       SQLiteDatabase checkDBb = null;

       try {
           String myPathb = DB_PATHb + DB_NAMEb;
           checkDBb = SQLiteDatabase.openDatabase(myPathb, null,
                   SQLiteDatabase.OPEN_READONLY);

       } catch (SQLiteException e) {

           // database does\'t exist yet.

       }

       if (checkDBb != null) {

           checkDBb.close();

       }

       return checkDBb != null ? true : false;
   }

   private void copyDataBase() throws IOException {

       InputStream myInputb = myContextb.getAssets().open(DB_NAMEb);
       String outFileNameb = DB_PATHb + DB_NAMEb;
       OutputStream myOutputb = new FileOutputStream(outFileNameb);
       byte[] buffer = new byte[1024];
       int lengthb;
       while ((lengthb = myInputb.read(buffer)) > 0) {
           myOutputb.write(buffer, 0, lengthb);
       }

       myOutputb.flush();
       myOutputb.close();
       myInputb.close();
   }

   public void openDataBase() throws SQLException {

       String myPathb = DB_PATHb + DB_NAMEb;
       // SQLiteDatabase.NO_LOCALIZED_COLLATORS
       myDataBaseb = SQLiteDatabase.openDatabase(myPathb, null,
               SQLiteDatabase.OPEN_READONLY
                       | SQLiteDatabase.NO_LOCALIZED_COLLATORS
                       | SQLiteDatabase.CREATE_IF_NECESSARY);

   }

   @Override
   public synchronized void close() {

       if (myDataBaseb != null)
           myDataBaseb.close();
       super.close();
   }

   public Cursor query(String table, String[] columns, String selection,
           String[] selectionArgs, String groupBy, String having,
           String orderBy) {
       return myDataBaseb.query("pwp_singers", null, null, null, null, null,
               null);

   }

   @Override
   public void onCreate(SQLiteDatabase arg0) {
       // TODO Auto-generated method stub
       
   }

   @Override
   public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
       // TODO Auto-generated method stub
       
   }

}

list_viewb.java
کد:
import java.util.ArrayList;
import java.util.HashMap;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

public class list_viewb extends BaseAdapter {
  private Activity activity;
  private ArrayList<HashMap<String, String>> datab;
  private LayoutInflater inflate;
  ViewHolder holderb;
  public list_viewb(Activity a, ArrayList<HashMap<String, String>> d) {
      activity = a;
      datab = d;
      inflate = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  }
  @Override
  public int getCount() {
      // TODO Auto-generated method stub
      return datab.size();
  }
  @Override
  public Object getItem(int position) {
      // TODO Auto-generated method stub
      return position;
  }

  @Override
  public long getItemId(int position) {
      // TODO Auto-generated method stub
      return position;
  }

  @SuppressLint("InflateParams")
 @Override
 public View getView(int arg0, View view, ViewGroup arg2) {

        View v1b = view;
      if (v1b == null) {

          v1b = inflate.inflate(R.layout.list_viewb, null);
          holderb = new ViewHolder();
          holderb.txt_bank = (TextView) v1b.findViewById(R.id.txt_bank);
          //  holder.txt_id.setVisibility(View.GONE);
          v1b.setTag(holderb);

      } else {

          holderb = (ViewHolder) v1b.getTag();
      }
      HashMap<String, String> song = new HashMap<String, String>();
      song = datab.get(arg0);
      holderb.txt_bank.setText(song.get("tbank"));
      return v1b;
  }

  static class ViewHolder {
      TextView txt_bank;
   
  }
}
پاسخ

جستجو برای دیتابیس خارجی

#2
خودتون که کد مربوط به سرچ رو دارید!

کد پی‌اچ‌پی:
dbb.rawQuery("SELECT * FROM"tblbankb +" WHERE"tbankb +"like '"  " LIKE  '"searchbank.getText()+"%'"null); 

برای جستجو یا search از همون دستور select با اضافه کردن پارامتر WHERE  استفاده میشه
که شما در کد های خدتون ازش استفاده کردید
پاسخ
 سپاس شده توسط admin ، tejint

جستجو برای دیتابیس خارجی

#3
(۱۳۹۵/۰۳/۱۲, ۰۹:۳۵ ق.ظ)mahdi10539 نوشته: خودتون که کد مربوط به سرچ رو دارید!

کد پی‌اچ‌پی:
dbb.rawQuery("SELECT * FROM"tblbankb +" WHERE"tbankb +"like '"  " LIKE  '"searchbank.getText()+"%'"null); 

برای جستجو یا search از همون دستور select با اضافه کردن پارامتر WHERE  استفاده میشه
که شما در کد های خدتون ازش استفاده کردید

سپاس بابت پاسختون

ولی کد من تا در محل سرچ حروفی رو تایپ می کنم از برنامه خارج میشه
پاسخ

جستجو برای دیتابیس خارجی

#4
کدی که نوشتید مشکل داره و باید به این شکل باشه

کد پی‌اچ‌پی:
dbb.rawQuery("SELECT * FROM "tblbankb +" WHERE "tbankb  " LIKE  '"searchbank.getText()+"%'"null); 
پاسخ
 سپاس شده توسط tejint ، شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان