رفتن به مطلب
  • 0

تاپیک جامع کار با دیتابیس


davood1382

سوال

با اجازه ی بزرگای سایت تاپیک جامع کار با دیتابیس رو زدم.

در این تاپیک ما به مشکلات کاربران درباره ی دیتابیس و کار با دیتابیس میپردازیم.

امید وارم که مشکلاتتون در تاپیک حل بشه.

موفق باشید.

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

ارسال‌های توصیه شده

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

 

ساخت database با برنامه Navicat for SQLite و استفاده در اندروید

 دکمه پسند یادت نره

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

سلام

 

توی یه تیبل 3تا فیلد داریم

فیلد اول = id

فیلد دوم = matn1

فیلد سوم = matn2

 

متنهای دو فیلد دوم و سوم رو از فایل تکست ایمپورت میکنیم که به صورت سطری اضافه میشن به فیلد ها.

 

مشکل اینجاست که وقتی فایل تکست به فیلد2 رو اضافه میکنیم درست اضافه میشن اما وقتی فایل تکست به فیلد3 رو اضافه میکنیم از ادامه فیلد2 شروع به ثبت میکنه ، یعنی مقابل هم نیستن

 

در تصویر زیر مشخص تره :

 

o354tir.png

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

 

سلام

والا یکم تفکر میخواد

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

مثال میزنم

شما یه قسمت داریدکه کتاب های فارسی و ریاضی رو نوشته

قسمتی هم دارید که فصل های کتاب های فارسی و ریاضی هستن

میخواین وقتی رو فارسی زد، لیست فصل هاش بیاد، رو ریاضی زد لیست فصل ها بیاد و ...

خوب

شما یقینا یه ستون به اسم id باید داشته باشید

حالا به غیر از این ستون، یه ستون دیگه هم به اسم matlab_id درست کنید

این ستون به چه شکل محتوی میگیره؟

کل مطالی که مربوط به فارسی هستن، علاوه بر ای دی که به ازای هر مطلب در بانک هست، یه فیلد مطلب ای دی هم دارن که تمامی فصل های کتاب فارسی، مطلب ای دی 1 رو میگیرن

ریاضی مطلب ای دی 2 رو میگیره

نمیدونم فیزیک مطلب ای دی 3 رو میگیره

(این روش رو تو انجمنمون اصطلاحا parrent ID میگن)

حالا چطوری فراخوانی کنیم؟

توی صفحه اکتیویتی که لیست در سهاتون(لیست اصلی ) رو لود میکنید، در sub Process Global یه متغیر رشته ای تعریف میکنیم(اسم این اکتیوتی رو میذارم  main_act)

dim meghdar1 as string

در رویداد کلیک لیست ویو یا دکمه یا هر چیزی، میایم و مقدار میدیم

مثلا اگه روی دکمه ی فارسی کلیک شد، بهش مقدار یک رو میدیم(همون مقداری که توی دیتابیس دادیم برای فصل بندی های اون درس)

Sub button1_Clickmeghdar1 = 1StartActivity(sub_list_act)End Sub
من اومدم و زیر درس یا همون فصل هارو در اکتیوتی sub_list_act گرفتم
خوب
در این اکتیویتی به شکل زیر کد میزنیم
 
Sub Activity_Create(FirstTime As Boolean)
cur1 = sql1.Exequery("SELECT * FROM tbl WHERE matlab_id = '" & main_act.meghdar1 & "'")
End Sub
 
دستور Sql رو فقط براتون گذاشتم، دیگه اینیشیالایز و لیست ویو و این کارا با خودتون
متن رو هم دقیقا به همین شکلی که کار کردم، با یکم خلاقیت میتونید بگیرید
موفق باشید
 

 

اگه به همین روش و با سادگی تمام ، یه فیلم آموزشی قرار بدین واقعا ممنونتون میشم :cheshmak:  :gol:

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

اگه به همین روش و با سادگی تمام ، یه فیلم آموزشی قرار بدین واقعا ممنونتون میشم :cheshmak:  :gol:

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

دوستم همه چیز اموزشی نیست، شما باید اصل قضیه یعنی کار با دیتابیس رو یاد بگیرید و با دانسته هاتون، خوتون یه جرکتی چیزی بزنید

این که برای هر کاری، یه اموزش باشه تو انجمن، به نظرم کار درستی نیست

:gol:

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

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

دوستم همه چیز اموزشی نیست، شما باید اصل قضیه یعنی کار با دیتابیس رو یاد بگیرید و با دانسته هاتون، خوتون یه جرکتی چیزی بزنید

این که برای هر کاری، یه اموزش باشه تو انجمن، به نظرم کار درستی نیست

:gol:

خوب عزیز

یه چیزی باید باشه که ما از روی اون الگو بگیریم و از طریق اون قضیه رو بفهمیم

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

خوب عزیز

یه چیزی باید باشه که ما از روی اون الگو بگیریم و از طریق اون قضیه رو بفهمیم

شما از توضیحات من الگو بگیرید

اموزش دیتابیس هم که هست تو سایت :)

 

سلام

 

توی یه تیبل 3تا فیلد داریم

فیلد اول = id

فیلد دوم = matn1

فیلد سوم = matn2

 

متنهای دو فیلد دوم و سوم رو از فایل تکست ایمپورت میکنیم که به صورت سطری اضافه میشن به فیلد ها.

 

مشکل اینجاست که وقتی فایل تکست به فیلد2 رو اضافه میکنیم درست اضافه میشن اما وقتی فایل تکست به فیلد3 رو اضافه میکنیم از ادامه فیلد2 شروع به ثبت میکنه ، یعنی مقابل هم نیستن

 

در تصویر زیر مشخص تره :

 

o354tir.png

سلام

شما باید فیلد های اولیه رو اپدیت کنید

این اومده 3 تا اولیا رو سه تا ای دی حساب کردی

برای 3 تای دومی باید سه تای اولی رو اپدیت کنید و در matn2 چیزی که میخواین رو اپ کنید

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

مرسی ولی اگه مراحلش رو بگید بهتره

ایجور که اصن متوجه منظورت نشدم چ برسه به انجام دادنش !

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

سلام

دوستان من بعد کلی اینور و انور زدن و مراجعه به آموزش های مختلف بالاخره تونستم لیست ویو اولم رو از دیتابیس با موفقیت فراخوانی کنم توسط این کد ها: (اینجا میذارم شاید بدرد دوستی بخوره!)

		Dim StrOnvan As String
	
			cur1 = sql1.ExecQuery("SELECT * from content")
			
		For i = 0 To cur1.RowCount - 1
			cur1.Position = i
			StrOnvan = cur1.GetString("titr 1")
			ListView1.AddSingleLine2(StrOnvan , cur1.GetString("suvar 1"))
		Next

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

			If Main.meghdar = 1 Then
				cursor1 = sql1.ExecQuery("SELECT * FROM content WHERE suvar2 = 1")
			Else If Main.meghdar = 2 Then
				cursor1 = sql1.ExecQuery("SELECT * FROM content WHERE suvar2 = 2")
			Else If Main.meghdar = 3 Then
				cursor1 = sql1.ExecQuery("SELECT * FROM content WHERE suvar2 = 3")
			Else If Main.meghdar = 4 Then
				cursor1 = sql1.ExecQuery("SELECT * FROM content WHERE suvar2 = 4")
			End If
	
			For i = 0 To cursor1.RowCount-1
				
				cursor1.Position=i
				ListView1.AddSingleLine(cursor1.GetString("titr2"))
			Next	

واسه اینکه دوستان گیج نشن :

Dim meghdar As String

این متغیر رو تو Sub Process_Globals اکتیویتی main ـم تعریف کردم و برای بارگزاری لیست ویو دومم ازش استفاده کردم یعنی اون Main,meghdar ازونجا میاد

امیدوارم کمکی شده باشه و خدای نکرده سبب گیج شدن دوستان نشه!!

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

مرسی ولی اگه مراحلش رو بگید بهتره

ایجور که اصن متوجه منظورت نشدم چ برسه به انجام دادنش !

مراحل خاصی نداره دوستم

شما میاین و اطلاعا 3 تا فایل رو میریزید توی سه تا ردیف و در ستون اول

حالا میخواین اطلاعات 3 فایل دیگه رو در همون سه ردیف اما در ستون دوم بریزید دیگه :)

کد زیر میاد ستون ردیف 1.2.3 رو عوض میکنه و مقدارش رو مقدار فایل های 1.txt  و 2.txt و 3.txt قرار میده

حالا هر تعداد ستونی که دریاد، حلقه رو براش تنظیم کنید

جای i&".txt" هم اسم فایل خودتون رو بدید

For i = 1 To 3
	
	sql.ExecNonQuery("UPDATE tbl SET sotoon_dovvom = '"& File.ReadString(File.DirInternal,i&".txt" &"' WHERE id = '"& i &"'")
	
Next

یکم باهاش سر و کله بزنید، مشکل خاصی نیستش :gol: :gol:

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

 

سلام

 

من دیتابیسی دارم که چندتا تیتر داره و میخوام وقتی اطلاعات رو از دیتا بیس بگیرم هرچندتا تیتر دارم توی یک خط متن هاشو( متنهایی که هر کدوم یک کلمه هستن) توی لیست ویو نمایش بده و بعد بره سراغ سطر بعدی 

 

متن تیتر1     متن تیتر2     متن تیتر3    id1

 

متن تیتر1     متن تیتر2     متن تیتر3    id2

 

متن تیتر1     متن تیتر2     متن تیتر3    id3

 

 

یه عکس از ساختار دیتابیستون بذارید هموطن...

میخوان متن تیتر 1 تیتر 2 تیتیر 3 بیان پیش هم؟

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

سلام دوستان

میشه لیست ویویی که تعداد آیتم هاش خیلی زیاده رو از دیتابیس بگیرم اونم با یه جدول ؟

منظورم از یه جدول اینه که لیست و متن و علاقه مندی و .. همه تو یه جدول باشه؟!!

ممنون میشم راهنمایی کنین

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

سلام دوستان

میشه لیست ویویی که تعداد آیتم هاش خیلی زیاده رو از دیتابیس بگیرم اونم با یه جدول ؟

منظورم از یه جدول اینه که لیست و متن و علاقه مندی و .. همه تو یه جدول باشه؟!!

ممنون میشم راهنمایی کنین

آره چرا نشه

 

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

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

ممنون از پاسخ گویی تون عباس آقا

اتقاقا توی ساخت این کتاب از آموزشی که با عنوان"کتاب فصل بندی شده" داده بودین خیلی استفاده کردم ولی چون لیستم خیلی زیاده البته لیست اولم میخوام که بجای استفاده از addsingleline2 که توی خود اکتیویتی کاربرد داره از دیتابیس استفاده کنم

اگه بیشتر راهنمایی میکردین بیشتر ممنون میشدم البته اگه مقدور باشه با کد

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

واقعا ممنونم واسه این تاپیک جامع و مفید

 

اگه یه فیلم آموزشی با عنوان ساخت کتاب با دیتابیس + علاقه مندی ها و آموزش ها توی این انجمن بود خیلی عالی میشد

 

بازم ممنون

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

عرض سلام و خسته نباشید

توی بعضی از کتابا دیدم که میشه با کشیدن صفحه به سمت راست و چپ بین صفحات یه کتاب جابجا شد و شنیدم این روش با دیتابیس امکانپذیره اگه اشتباه نکنم از اسکرول ویو افقی استفاده میشه!!

ممنون میشم یکی روشش رو بذاره

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

سلام

 

من دیتابیسی دارم که چندتا تیتر داره و میخوام وقتی اطلاعات رو از دیتا بیس بگیرم هرچندتا تیتر دارم توی یک خط متن هاشو( متنهایی که هر کدوم یک کلمه هستن) توی لیست ویو نمایش بده و بعد بره سراغ سطر بعدی 

 

متن تیتر1     متن تیتر2     متن تیتر3    id1

 

متن تیتر1     متن تیتر2     متن تیتر3    id2

 

متن تیتر1     متن تیتر2     متن تیتر3    id3

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

من دوتا لیست دارم در واقع و میخوام وقتی که روی آیتم های لیست اول کلیک شد آیتم های لیست دوم واسم نمایش داده بشن!!جفت لیستا رو هم میخوام از دیتابیس بخونم!

راهنمایی کنین لطفا

ممنون

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

سلام

والا یکم تفکر میخواد

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

مثال میزنم

شما یه قسمت داریدکه کتاب های فارسی و ریاضی رو نوشته

قسمتی هم دارید که فصل های کتاب های فارسی و ریاضی هستن

میخواین وقتی رو فارسی زد، لیست فصل هاش بیاد، رو ریاضی زد لیست فصل ها بیاد و ...

خوب

شما یقینا یه ستون به اسم id باید داشته باشید

حالا به غیر از این ستون، یه ستون دیگه هم به اسم matlab_id درست کنید

این ستون به چه شکل محتوی میگیره؟

کل مطالی که مربوط به فارسی هستن، علاوه بر ای دی که به ازای هر مطلب در بانک هست، یه فیلد مطلب ای دی هم دارن که تمامی فصل های کتاب فارسی، مطلب ای دی 1 رو میگیرن

ریاضی مطلب ای دی 2 رو میگیره

نمیدونم فیزیک مطلب ای دی 3 رو میگیره

(این روش رو تو انجمنمون اصطلاحا parrent ID میگن)

حالا چطوری فراخوانی کنیم؟

توی صفحه اکتیویتی که لیست در سهاتون(لیست اصلی ) رو لود میکنید، در sub Process Global یه متغیر رشته ای تعریف میکنیم(اسم این اکتیوتی رو میذارم  main_act)

dim meghdar1 as string

در رویداد کلیک لیست ویو یا دکمه یا هر چیزی، میایم و مقدار میدیم

مثلا اگه روی دکمه ی فارسی کلیک شد، بهش مقدار یک رو میدیم(همون مقداری که توی دیتابیس دادیم برای فصل بندی های اون درس)

Sub button1_Clickmeghdar1 = 1StartActivity(sub_list_act)End Sub
من اومدم و زیر درس یا همون فصل هارو در اکتیوتی sub_list_act گرفتم
خوب
در این اکتیویتی به شکل زیر کد میزنیم
 
Sub Activity_Create(FirstTime As Boolean)
cur1 = sql1.Exequery("SELECT * FROM tbl WHERE matlab_id = '" & main_act.meghdar1 & "'")
End Sub
 
دستور Sql رو فقط براتون گذاشتم، دیگه اینیشیالایز و لیست ویو و این کارا با خودتون
متن رو هم دقیقا به همین شکلی که کار کردم، با یکم خلاقیت میتونید بگیرید
موفق باشید
 

 

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

با عرض سلام و خسته نباشید

به عنوان اولین نفر مشکلم رو مطرح می کنم

من میخوام آیتم های لیست ویو اولم رو که از 100 تا به بالاست از دیتابیس بگیرم و توی رویداد آیتم کلیک این لیست ویو کدی بنویسم که آیتم های لیست ویو دوم رو که اونم از دیتابیس میاد واسم به نمایش دربیاره

و وقتی که روی آیتم های لیست ویو دوم کلیک شد متن مربوط بهش نمایش داده بشه!

ممنون میشم در قالب کد جواب بدین حدود سه چهار روزه دنبالشم ولی چون مبتدی هستم کاری از پیش نبردم!(یه جای دیگه مطرح کردم یه دوستی گفت که به جای اینکه ماهی آماده بگیری ماهی گیری یاد بگیر!!!)

من فکر می کنم واسه مبتدیها این سوالات پیش میاد دیگه که باید به جواب برسن و در واقع ماهی گیری یاد بگیرن!! :gol: :gol: :gol:

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

شما که مبتدی هستین میتونین از کتابخانه ی فراخانی نسخه ی 3  استفاده کنین بزنین توی سایت هست

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

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...