Razieh Shahraki

درج اطلاعات در جدول

22 ارسال در این موضوع قرار دارد

سلام خسته نباشین

میخوام تو بانکم اطلاعات درج کنم هر کار میکنم نمیشه :S

بانکم اکسترنال هست

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

اینکار براحتی انجام میشود..این پست رو با دقت انجام بدین تا اطلاعات در جدول ثبت شود:

1-ابتدا یک کلاس برای دیتابیس بسازید:

public class DatabaseHelper extends SQLiteOpenHelper {    public static final String db_demo = "DATA1.db";    public static final String tbl_sdcard = "tbl_sdcard";    public static String name = "name";    // method to create or connect to a database    public DatabaseHelper(Context context) {        super(context, db_demo, null, 1);    }    @Override    public void onCreate(SQLiteDatabase db) {        db.execSQL("CREATE TABLE " + tbl_sdcard + " (" + name+ " TEXT );" );    }    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {        db.execSQL("DROP TABLE IF EXISTS  " + tbl_sdcard);        onCreate(db);    }}

2-سپس در اکتییوتی خود باید اینکارو کنید

چند متغیر سراسری از شی هایی که برای دیتابیس استفاده میشود را بنویسید

DatabaseHelper dbh;    SQLiteDatabase db;    ContentValues cv;

3-سپس در ocnreate()

@Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        dbh=new DatabaseHelper(getApplicationContext());{

4- یک تابع برای افزودن اطلاعات به جدول:

private void add_db(String name) {            db = dbh.getWritableDatabase();            cv = new ContentValues();            try {                cv.put(dbh.name, name);                                db.insertOrThrow(dbh.tbl_sdcard, null, cv);            } catch (Exception e) {                // TODO: handle exception                Toast.makeText(getApplicationContext(), e.toString(),                        Toast.LENGTH_LONG).show();            } finally {                db.close();            }        }

5-حالا در هرجایی که میخواهید اطلاعات دخیره شوند،این تابع را فقط فراخوانی کنید

add_db("salam"");

یا

add_db(txt_name.getText.toString());

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
ممنون از پاسخگویی سریع تون:heart:

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

می خواستم ببینم روشی هست که بتونیم query ها رو مستقیم روی جداول اجرا کنیم و یه دیتا آداپتر خروجی بگیریم .

یعنی اینکه با یه تابع هر query که دادیم اجرا بشه ، هم select هم insert هم update و  هم delete

توی C#  و َAsp.net این کار رو کردم و شدنیه ، می خوام ببینم اینجا میشه انجام داد یا نه ؟

ممنون

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

بله،اینکار براحتی قابل انجام میباشد.

بدین صورت میتوانید عمل کنید :

ListAdapter adapter;db = dbh.getReadableDatabase();        Cursor cursors = db.rawQuery("select * from " + dbh.tbl_file, null);                ArrayList> CHANNELList;        CHANNELList = new ArrayList>();            for (int i = 0; i < cursors.getCount(); i++) {            cursors.moveToNext();            HashMap map = new HashMap();            name = cursors.getString(cursors.getColumnIndex("title"));            date = cursors.getString(cursors.getColumnIndex("date"));            map.put("title", name);            map.put("date", date);                CHANNELList.add(map);        }                adapter = new listviewAdapter(this, CHANNELList);                lst_note.setAdapter(adapter);

اطلاعات در Adapter قرار میگیرند ، و میتوانید مانند این تکه بسته به کاربرد کارتان  از استفاده کنید.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ممنون از پاسختون

یعنی اگه الان تو این کد به جای select یه کوئری برای insert بنویسیم ، اجرا می کنه ؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

اره اجرا میشه.شما وقتی از Cusrsor استفاده میکنید، و برای  db هم   getWritableDatabase تعریف میکنید میتوانید درج هم انجام دهید.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

این خط و خطا میده

 adapter = new listviewAdapter(this, CHANNELList)
listviewAdapter

رو نمیشناسه

چه کار باید کرد ؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

بله اون قسمت رو نمیشناسه برای نمونه براتون گذاشتم،

adapter = new listviewAdapter(this, CHANNELList)

اون قسمت برای این میباشد که اطلاعات را روی یک لیست سفارشی نمایش دهد.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

خب بدون اون کد چه تغییری می کنه ؟

adapter رو چطوری پُر کنم و بعد set کنم ؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

بدین صورت بنویسید :

lst_note.setAdapter(new ArrayAdapter(this,            (android.R.layout.simple_list_item_1, CHANNELList

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

نوشتم ، پیغام خطای زیر و داد

The constructor ArrayAdapter(showData, int, ArrayList>) is undefined

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

بخاطر اینه  که  ما دو تا فیلد داریم از اطلاعات  بدین صورت کدهارو تغییر بدین :

ListAdapter adapter;db = dbh.getReadableDatabase();        Cursor cursors = db.rawQuery("select * from " + dbh.tbl_file, null);               ArrayList array_list = new ArrayList();           for (int i = 0; i < cursors.getCount(); i++) {            cursors.moveToNext();                       name = cursors.getString(cursors.getColumnIndex("title"));                    array_list.add(name);        }      lst_note.setAdapter(new ArrayAdapter(this,            android.R.layout.simple_list_item_1,array_list

)

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ممنون حل شد .

حالا اگر بیشتر از یک فیلد داشته باشیم باید چیکار کنیم ؟

اگر بخوایم روی هر کدوم از item های listview - رویداد onclick رو بنویسم باید چیکار کنیم ؟

در واقع من می خوام یک منوی داینامیک درست کنم که از دیتابیس پُر میشه ، پیشنهاد شما چیه ؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

خب برای لیستی که میخواهید باید یک لیست سفارشی بسازید و اطلاعات داخل مثلا Hashmap را در فیلدهایی قرار دهید،سپس در اطلاعات Hashmap را در فیلدهای لیست ویو قرار میدهید.

صبر کنید امشب یک آموزش کامل برای لیست سفارشی در اندروید بنویسم،چون به مشکل بسیار بزرگی برای دوستان پیش اومده.امیدوارم با این آموزش کوچیک مشکلی رو حل کرده باشم

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام من تمام این کارها رو انجام دادم از این خط ایراد میگیره

dbh=new DatabaseHelper(getApplicationContext());

 متن خطا :

Cannot instantiate the type InternetTest.DatabaseHelper

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

شما باید ابتدا در ناحیه general کدها ، این دستور را بنویسید :

DatabaseHelper   dbh;

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

من با استفاده از آموزش لیست ویو سفارشی و دیتابیس برنامه ای نوشتم ، برنامه خطا نداره اما لیست ویو رو خالی نشون میده .

آپلودش کردم ، لطف می کنید ببینید مشکلش چیه ؟

ممنون

http://s4.picofile.com/file/7852755371/MashhadPezeshk.rar.html

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

دوستان اگه میشه لطف کنید و این برنامه ی من و بررسی کنید ، تا بتونیم با کمک هم مشکلش رو حل کنیم .

ممنون

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

کدتان را بررسی نمودم، شما وقتی میخواهید از یک دیتابیس آماده در برنامه تون استفاده کنید ،باید آن را به SDcard کپی کنید. در تاپیک زیر در انجمن قرار گرفته است این مشکل برطرف شده است :

http://www.p30droid.com/showthread.php?tid=386

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ممنون اون مشکلم حل شد

الان توی اون لیست ویو سفارشی یک مشکل دارم .

اونم اینه که لیست ویو به طور همزمان فقط یک سطر و نمایش میده و برای دیدن بقیه ی سطرها باید اسکرول کرد ، طول و عرض رو mache parent و fill parent کردم اما بازم درست نشد .

مشکل چیه ؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

خب نباید اندازه لیست سفارشی را match_parent بگذارید.دقیقا باید مانند مثال موجود که مدیر سایت توضیح داده اند عمل کنید.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری