• 0
loyal

راهنمایی درباره دیتابیس

سوال

با عرض سلام و خسته نباشید ، چنتا موضوع ساده هست در رابطه با دیتابیس که ممنون میشم اگر راهنمایی کنید .

 

  1) مثلا دیتابیس SQLite من در فولدر assets هست ، چطوری من موقع ایجاد کانکشن به اون رفرنس بدم ؟ ( چطور به اون دیتابیس اماده رفرنس بدم ؟ )

 var con = new SQLitePCL.SQLiteConnection("Assets/db.sqlite");

کد بالا مثلا ارور میده .

 

 

2) اگر من بخوام این دیتابیس اماده رو در فولدر local  یا پکیج فولدر اپلیکیشن قرار بدم داستان چجوری میشه ؟

 

 

3 ) در کد پایین SQLiteResult.ROW به چه معناست ؟  و اون اندیس x دقیقا یعنی چی ؟ ایا اون اندیس به ستون دیتابیس اشاره داره ؟ کی باید 0 بزاریم کی اعداد دیگه ... 

using (var x = con.Prepare("SELECT rowid FROM ashoora"))
            {
                while (x.Step() == SQLitePCL.SQLiteResult.ROW)
                {
                    x.Step();
                    result.Text += x[0]
                }

            }

4 ) در SQLite.net-pcl ( یک نسخه از SQLite که با رفتار linq باید ازش استفاده کرد ) چجوری ازش select کنم ؟ یعنی چجوری در این نوع SQLite دریافت داده انجام بدم ؟ 

مثلا : من الان یه دیتابیس با دوتا ستون دارم میخوام ازشون داده بگیرم ولی نمیتونم با این ساختار ازشون اطلاعات بگیریم conn.Table<Customer>();

​من چجوری باید بجای customer شیئ خودمو بزارم که با دیتابیس تطابق داشته باشه ؟ ( مثلا اینجا کاستومر id  name   age داره از طرفی داخل دیتابیس هم دقیقا این ستون ها هست به همین علت بهش داده هارو برمیگردونه . منتها شئی من با اینکه با دیتابیس تطابق داره ولی داده نمیده .

var query = conn.Table<Customer>(); 
string id = ""; 
string name = ""; 
string age = ""; 
 
foreach (var message in query) { 
   id = id + " " + message.Id; 
   name = name + " " + message.Name; 
   age = age + " " + message.Age; 
}

****** اگر یکی از مورد هارو هم راهنمایی کنید یه دنیا ممنون میشم **********

 

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


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

4 پاسخ به این سوال تا کنون داده شده است

  • 0
سلام،
وقت بخیر،
1.
کلا هر چیزی که داخل پروژه هست و میخواهید از اون استفاده کنید باید با دستور زیر شروع بشه:
 
ms-appx:///

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

پس میشه:
 var con = new SQLitePCL.SQLiteConnection("ms-appx:///Assets/db.sqlite");

2.

همین الانشم این فایل داخل پکیج هست!!!

 

3.

پس از اینکه کوئری فرستاده میشه، جواب در کلاس SQLiteResult ذخیره میشه، شما نیاز دارید که این جواب رو بگیرید.
کلاس SQLiteResult نیازی نداره که ازش متغیر جدیدی ایجاد کنید.
دو حالت برای این کلاس وجود داره، زمانی که SQLiteResult.DONE بود  به معنی اینه که اشاره گر تمامی اطلاعات رو مصرف کرده.
زمانی هم که SQLiteResult.ROW بود به معنی اینه که اشاره گر از هر سطر شروع میکنه (به جستجو)
 
این اندیس ها هم منظور ستون های یک ردیف هست!
 
4.
همین کدی که دادی ، عمل Select رو انجام دادی.
 
5.
حقیقتا زیاد دیتابیس کار نکردم که بتونم توی این مورد کمک کنم.
 
پیشنهاد میدم این لینک رو ببینی:
 
 
موفق باشی.
 

 

 

پسند شده توسط 1 کاربر

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


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


  • 0

 

سلام،
وقت بخیر،
1.
کلا هر چیزی که داخل پروژه هست و میخواهید از اون استفاده کنید باید با دستور زیر شروع بشه:
 
ms-appx:///

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

پس میشه:
 var con = new SQLitePCL.SQLiteConnection("ms-appx:///Assets/db.sqlite");

2.

همین الانشم این فایل داخل پکیج هست!!!

 

3.

پس از اینکه کوئری فرستاده میشه، جواب در کلاس SQLiteResult ذخیره میشه، شما نیاز دارید که این جواب رو بگیرید.
کلاس SQLiteResult نیازی نداره که ازش متغیر جدیدی ایجاد کنید.
دو حالت برای این کلاس وجود داره، زمانی که SQLiteResult.DONE بود  به معنی اینه که اشاره گر تمامی اطلاعات رو مصرف کرده.
زمانی هم که SQLiteResult.ROW بود به معنی اینه که اشاره گر از هر سطر شروع میکنه (به جستجو)
 
این اندیس ها هم منظور ستون های یک ردیف هست!
 
4.
همین کدی که دادی ، عمل Select رو انجام دادی.
 
5.
حقیقتا زیاد دیتابیس کار نکردم که بتونم توی این مورد کمک کنم.
 
پیشنهاد میدم این لینک رو ببینی:
 
 
موفق باشی.
 

 

 

 

خیلی ممنون ، فقط این جمله رو که گفتین توضیح میدین

 

"  این اندیس ها هم منظور ستون های یک ردیف هست! "

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


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

در ضمن بازهم در :

var con = new SQLitePCL.SQLiteConnection("ms-appx:///Assets/db.sqlite");

ارور unable to open میده .

من چطور ادرس این دیتابیس امادم رو به این کانکشن بدم اخه ؟

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


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

البته جوابش میشد این

var uri = new Uri("ms-appx:///Assets/db.db");
var file = await StorageFile.GetFileFromApplicationUriAsync(uri );
SQLitePCL.SQLiteConnection conn = new SQLitePCL.SQLiteConnection(file.Path);  // read-only connection.

ازتون مچکرم

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


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