amirahani 0 ارسال شده در ۱۸ دی ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۱۸ دی ۱۳۹۴ سلام بچه ها ... من تازه عضو اینجا شدم ... امیدوارم بتونم مشکلم رو حل کنم. از کدهای زیر استفاده کردم .... کل برنامه کارش اینکه یه سری فیلد رو بریزه تو دیتابیس اما همون اول کار ارور no such table رو میده. حالا من چیکار کردم از طریق نرم افزار اس کیو ال فایل دیتابیسم رو که داخلی یه جدول به نام ptable بوده رو ساختم و در همون نرم افزار اسم ستونهام رو هم مشخص کردم .منظور دیگه نیازی به درست کردن جدول در اکلیپس ندارم اما متاسفانه موقه اینسرت ارور no such table ptable رو میده وقتی که query رو اجرا می کنم فایل دیتابیس رو هم به پوشه asset ریختم . این کد فایل assetdb [shcode=java]package com.paragraph.paragraphdoc; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteException; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; public class Assetdb extends SQLiteOpenHelper { private final Context mycontext; public final String path="data/data/com.paragraph.paragraphdoc/databases/"; public final String Name="paragraph"; public SQLiteDatabase mydb; public Assetdb(Context context) { super(context, "paragraph", null, 1); mycontext=context; } public void onCreate(SQLiteDatabase arg0) { // [email protected] Auto-generated method stub } public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { // [email protected] Auto-generated method stub } public void open(){ mydb=SQLiteDatabase.openDatabase(path+Name, null, SQLiteDatabase.OPEN_READWRITE); } public void close(){ mydb.close(); } public void useable(){ boolean checkdb=checkdb(); if(checkdb){ } else{ this.getReadableDatabase(); try { copydatabase(); } catch (IOException e) { } } } public boolean checkdb() { SQLiteDatabase db=null; try{ db=SQLiteDatabase.openDatabase(path+Name, null, SQLiteDatabase.OPEN_READONLY); }catch(SQLiteException e){ } return db !=null ? true : false ; } public void copydatabase () throws IOException{ OutputStream myoutput=new FileOutputStream(path+Name); byte[] buffer=new byte[1024]; int length; InputStream myinput= mycontext.getAssets().open(Name); while((length=myinput.read(buffer))>0){ myoutput.write(buffer, 0, length); } myinput.close(); myoutput.flush(); myoutput.close(); } // Add your public helper methods to access and get content from the database. // You could return cursors by doing "return myDataBase.query(....)" so it'd be easy // to you to create adapters for your views. public boolean inserInTblInfo(String reshteh,String docname,String ostad,String storage,String pagenumber, String price,String desc){ SQLiteDatabase db=this.getWritableDatabase(); ContentValues cv=new ContentValues(); cv.put("reshteh", reshteh); cv.put("docname", docname); cv.put("ostad", ostad); cv.put("storage", storage); cv.put("pagenumber", pagenumber); cv.put("price", price); cv.put("desc", desc); db.insert("ptable", null, cv); Log.e("???????????", "insert shod"); return true; } public ArrayList getAll(){ ArrayList arr1=new ArrayList(); SQLiteDatabase db=this.getReadableDatabase(); Cursor cur=db.rawQuery("select * from ptable", null); cur.moveToFirst(); while(cur.isAfterLast()==false){ arr1.add(cur.getString(cur.getColumnIndex("docname"))); cur.moveToNext(); } return arr1; } // public int getProfilesCount() { // String countQuery = "SELECT * FROM doctbl"; // SQLiteDatabase db = this.getReadableDatabase(); // Cursor cursor = db.rawQuery(countQuery, null); // int cnt = cursor.getCount(); // cursor.close(); // return cnt; // } } [/shcode] و این هم main activity من : [shcode=java]package com.paragraph.paragraphdoc; import java.util.ArrayList; import com.paragraph.paragraphdoc.Assetdb; import com.paragraph.paragraphdoc.R; import android.support.v7.app.ActionBarActivity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ImageButton; import android.widget.ListView; import android.widget.Spinner; public class MainActivity extends ActionBarActivity { private String array_spinner[]=new String[23]; private ImageButton add; private ListView lv_main; private EditText search; Assetdb dbShowALL; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Spinner s = (Spinner) findViewById(R.id.spineer_reshteh); ImageButton add=(ImageButton) findViewById(R.id.imgbtn_add); ListView lv_main=(ListView)findViewById(R.id.lv_main); EditText search=(EditText)findViewById(R.id.editText_search); dbShowALL=new Assetdb(this); ArrayList arr1=dbShowALL.getAll(); ArrayAdapter arrAdapter=new ArrayAdapter(this, android.R.layout.simple_list_item_1,arr1); lv_main.setAdapter(arrAdapter); add.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { Intent nextpage=new Intent(MainActivity.this,Reg.class); startActivity(nextpage); } }); spineer(s); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); } private void spineer(Spinner s) { //------------------------------------------------------------- array_spinner[0]="معماری-کاردانی"; array_spinner[1]="معماری-کارشناسی ناپیوسته"; array_spinner[2]="معماری داخلی-کارشناسی پیوسته"; array_spinner[3]="حسابداری-کاردانی"; array_spinner[4]="حسابداری-کارشناسی "; array_spinner[5]="حسابداری-ارشد"; array_spinner[6]="فضای سبز-کارشناسی"; array_spinner[7]="مدیریت بازرگانی-کاردانی"; array_spinner[8]="مدیریت بازرگانی-کارشناسی"; array_spinner[9]="چهانگردی-کاردانی"; array_spinner[10]="جهانگردی-کارشناسی"; array_spinner[11]="شهرسازی-کارشناسی"; array_spinner[12]="مدیریت شهری-ارشد"; array_spinner[13]="مدیریت صنعتی-کاردانی"; array_spinner[14]="مدیریت صنعتی-کارشناسی"; array_spinner[15]="مدیریت صنعتی-ارشد"; array_spinner[16]="منابع طبیعی-کارشناسی"; array_spinner[17]="مدیریت پروژه-کارشناسی"; array_spinner[18]="محیط زیست-ارشد"; array_spinner[19]="برنامه ریزی شهری-ارشد"; array_spinner[20]="آموزش زبان انگلیسی-کارشناسی"; array_spinner[21]="مترجمی زبان-کارشناسی"; array_spinner[22]="علوم ورزشی-کارشناسی"; //------------------------------------------------------------- ArrayAdapter adapter = new ArrayAdapter(this, R.layout.support_simple_spinner_dropdown_item, array_spinner); s.setAdapter(adapter); //------------------------------------------------------------- s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { if (array_spinner[arg2].equals("تحقیق")) { } else if (array_spinner[arg2].equals("پاورپوینت")) { } } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); } } [/shcode] و این هم کلاسی که توش فیلدها رو پر میکنم و اینسرت می کنم : [shcode=java]package com.paragraph.paragraphdoc; import com.paragraph.paragraphdoc.Assetdb; import android.app.Activity; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ImageButton; import android.widget.Spinner; import android.widget.Toast; public class Reg extends ActionBarActivity{ private String array_reshteh[]=new String[23]; private String array_saveloc[]=new String[5]; private Assetdb docdb; private ImageButton save,back; private EditText jozve,ostad,pagenumber,price,desc; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.reg); final Spinner reshteh=(Spinner) findViewById(R.id.spineer_reshteh); final Spinner saveloc = (Spinner) findViewById(R.id.spineer_saveloc); ImageButton save=(ImageButton)findViewById(R.id.btn_save); ImageButton back=(ImageButton)findViewById(R.id.btn_back); final EditText jozve=(EditText)findViewById(R.id.edittext_namejozve); final EditText ostad=(EditText)findViewById(R.id.edittext_ostad); final EditText pagenumber=(EditText)findViewById(R.id.edittext_pagenumbers); final EditText price=(EditText)findViewById(R.id.edittext_price); final EditText desc=(EditText)findViewById(R.id.edittext_description); // if(jozve.getText().toString()!=null|ostad.getText().toString()!=null|pagenumber.getText().toString()!=null|price.getText().toString()!=null|desc.getText().toString()!=null){ // reshteh_spineer(reshteh); saveloc(saveloc); docdb = new Assetdb(this.getApplicationContext()); save.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { if(jozve.getText().toString().matches("")|ostad.getText().toString().matches("")|price.getText().toString().matches("")){ Toast.makeText(getApplicationContext(), "ورودی های خود را کامل پر نکرده اید", Toast.LENGTH_SHORT).show(); } else { docdb=new Assetdb(getApplicationContext()); docdb.inserInTblInfo(reshteh.getSelectedItem().toString(), jozve.getText().toString(), ostad.getText().toString(), saveloc.getSelectedItem().toString(), pagenumber.getText().toString(), price.getText().toString(), desc.getText().toString()); Toast.makeText(getApplicationContext(), " جزوه مورد نظر در شاخه "+reshteh.getSelectedItem().toString()+" با موفقیت ذخیره گردید ", Toast.LENGTH_SHORT).show(); finish(); } } }); } private void reshteh_spineer(Spinner s) { //------------------------------------------------------------- array_reshteh[0]="معماری-کاردانی"; array_reshteh[1]="معماری-کارشناسی ناپیوسته"; array_reshteh[2]="معماری داخلی-کارشناسی پیوسته"; array_reshteh[3]="حسابداری-کاردانی"; array_reshteh[4]="حسابداری-کارشناسی "; array_reshteh[5]="حسابداری-ارشد"; array_reshteh[6]="فضای سبز-کارشناسی"; array_reshteh[7]="مدیریت بازرگانی-کاردانی"; array_reshteh[8]="مدیریت بازرگانی-کارشناسی"; array_reshteh[9]="چهانگردی-کاردانی"; array_reshteh[10]="جهانگردی-کارشناسی"; array_reshteh[11]="شهرسازی-کارشناسی"; array_reshteh[12]="مدیریت شهری-ارشد"; array_reshteh[13]="مدیریت صنعتی-کاردانی"; array_reshteh[14]="مدیریت صنعتی-کارشناسی"; array_reshteh[15]="مدیریت صنعتی-ارشد"; array_reshteh[16]="منابع طبیعی-کارشناسی"; array_reshteh[17]="مدیریت پروژه-کارشناسی"; array_reshteh[18]="محیط زیست-ارشد"; array_reshteh[19]="برنامه ریزی شهری-ارشد"; array_reshteh[20]="آموزش زبان انگلیسی-کارشناسی"; array_reshteh[21]="مترجمی زبان-کارشناسی"; array_reshteh[22]="علوم ورزشی-کارشناسی"; //------------------------------------------------------------- ArrayAdapter adapter = new ArrayAdapter(this, R.layout.support_simple_spinner_dropdown_item, array_reshteh); s.setAdapter(adapter); //------------------------------------------------------------- s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { if (array_reshteh[arg2].equals("تحقیق")) { } else if (array_reshteh[arg2].equals("پاورپوینت")) { } } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); } private void saveloc(Spinner s) { //------------------------------------------------------------- array_saveloc[0]="TOSHIBA-720"; array_saveloc[1]="TOSHIBA-550"; array_saveloc[2]="TOSHIBA-PS3"; array_saveloc[3]="TOSHIBA-PCL6"; array_saveloc[4]="هارد کامپیوتر"; //------------------------------------------------------------- ArrayAdapter adapter = new ArrayAdapter(this, R.layout.support_simple_spinner_dropdown_item, array_saveloc); s.setAdapter(adapter); //------------------------------------------------------------- s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); } } [/shcode] تو رو خدا کمک کنید که الان 2 روز گیر اونم ... کل فولدم برنامه رو هم براتون آپلود کردم که اگر نیازی بود و دوست داشتین کمکم کنید بتونید ایمپورتش کنید : http://uplod.ir/aumhs2dgn5lr/ParagraphDoc_-_Copy.zip.htm نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Shadow 3 ارسال شده در ۲۰ دی ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۲۰ دی ۱۳۹۴ سلام فکر کنم می گه جدول وجود نداره Cursor cur=db.rawQuery("select * from ptable", null); چک کن ببین نام جدول رو درست نوشتی نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
مجید آرتا 1 ارسال شده در ۲۱ دی ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۲۱ دی ۱۳۹۴ به بزرگی و کوچکی حروف دفت کنید. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .