باید آموزش جستجو در دیتا بیس SQL رو بلد باشی و برنامه navicat هم باید نصبیده باشید.
این آموزش رو بخونید :
http://promakers.ir/showthread.php?tid=10325
اینجا هم تمام تاپیک ها و آموزش های قدیمی رو بخونید و یکی یکی برسید به آموزش های جدید:
http://promakers.ir/forumdisplay.php?fid=109&page=5
توضیحات:
ببین قبل از اینکه basic4android یاد بگیرید باید کمی
visual basic 6 رو یاد بگیرید(حالا vb.net وی بی دات نت هم شد زیاد فرقی
نداره ولی vb6 سبک تره و لینک دانلودشم توی اینترنت هست . نبود پ.خ بزنید
بدم لینک رو).
-
بعدش شما باید با دستورات ساده ی SQL (یعنی Structured Query Language = زبان پرس و جوی ساختاری) رو یاد بگیری.
چیز خاصی نداره
مثال :
SELECT * FROM table_name
ما کاری به بقیه چیزا نداریم.
توی هر زبون برنامه نویسی توابعی هست که SQL رو می تونیم به صورت رشته ای بکار ببریم و Execute(اجرا) کنیم.
مثال توی b4a:
ابتدا متغیرهایی از نوع کرسر و س کو ال تعریف می کنیم(در بخش global):
Dim SQL1 As SQL
Dim cursor1 As Cursor
If SQL1.IsInitialized = False Then
SQL1.Initialize(File.DirInternal, "db1.db", False)
End If
DBload("")
مثال :
Sub DBload(q As String)
Private condition As String
q=q.Trim'remove spaces
condition="WHERE esm LIKE '%" & q & "%'"
ListView1.Clear'need to clear the list
cursor1 = SQL1.ExecQuery("SELECT * FROM table1 " & condition & "ORDER BY esm")
For i = 0 To cursor1.RowCount - 1
cursor1.Position = i
ListView1.AddSingleLine(cursor1.GetString("esm")& "|" &cursor1.GetString("nomre"))
ListView1.SingleLineLayout.ItemHeight = 40
ListView1.SingleLineLayout.Label.TextSize = 20
ListView1.SingleLineLayout.Label.TextColor = Colors.Black
ListView1.SingleLineLayout.Label.Color = Colors.White
Next
End Sub
q از نوع رشته ای هست و چیزی رو که می خوایم توی جدول جستجو کنیم رو بهش می دیم(ما متن وارد شده در کادر متنی رو بهش می دیم)
q.Trim باعث میشه اگه توی کادر متنی در سمت چپ و راست فضای خالی بود حذف بشه(البته از توی q)
خط بعدی این است :
condition="WHERE esm LIKE '%" & q & "%'"
علامت درصد(%) باعث میشه تا n کاراکتر در سمت چپ رشته ی ورودی بررسی بشه.مثل دستور dir در ویندوز (خط ommand prompt) که اونجا می گفتیم *ali* که این باعث میشد تمام فایل هایی که کلمه ی ali توی اسمشون باشه و اول و آخر نامشون هر تعداد کاراکتر باشه رو برگشت بده.
سپس ListView1.Clear باعث پاک کردن سطرهای لیست ویو میشه.
سپس باید SQL رو طبق شرط condition که بالاتر ساختیم اجرا کنیم و بعد از اجرا متغیر cursor(کرسر) یا اشاره گر رو اشاره می دیم به ابتدای جدولی که اطلاعات واکشی شده رو به طور موقت در اون ذخیره کرده سیستم پایگاه داده ی درونی b4a:
cursor1 = SQL1.ExecQuery("SELECT * FROM table1 " & condition & "ORDER BY esm")
order by esm باعث میشه که سطرهایی که واکشی شدن بر حسب ستون esm واکشی و مرتب بشن(توی جدول موقت واکشی شده)
اطلاعات از جدول table1 خوانده شد و cursor1 داره به ابتدای این حدول اشاره می کنه.
حالا باید یه حلقه ی while یا for بنویسیم که سطر به سطر از این جدول رو برای ما نمایش بده یا به لیست ویو listView1 اضافه کنه.
چون سطر اول شمارش 0 هست آخرین سطر باید n منهای 1 باشه.(cursor1.RowCount - 1)
ما هر بار با دستور cursor1.Position باید پاس بدیم به سطر بعدی و اینکار رو تا رسیدن به آخرین سطر تکرار کنیم و اسم و نمره ی دانش آموزان (واکشی شده بر حسب نام جستجو شده) رو نشون بدیم:
For i = 0 To cursor1.RowCount - 1
cursor1.Position = i
ListView1.AddSingleLine(cursor1.GetString("esm")& "|" &cursor1.GetString("nomre"))
.
.
.
سپس با دستور ListView1.SingleLineLayout.ItemHeight = 40 اندازه ی ارتفاع هر سطر از listView رو زیاد (روی 40 تنظیم)می کنیم .
سپس با دستور ListView1.SingleLineLayout.Label.TextSize = 20 اندازه ی متن رو روی size 20 تنظیم می کنیم.
سپس رنگ متن رو سیاه و پس زمینه رو سفید می کنیم :
ListView1.SingleLineLayout.Label.TextColor = Colors.Black و ListView1.SingleLineLayout.Label.Color = Colors.White
بقیه هم دیگه نیازی به توضیح نداره.
از جمله دستورانت دیگه ی SQL عبارت است از DELETE و UPDATE و INSERT که به ترتیب برای حذف و به روزرسانی(ویرایش=Edit) ودرج داده ها بکار می ره و دتورات دیگه ای که ما زیاد نیازی بهشون نداریم
http://promakers.ir/showthread.php?tid=11479&pid=120448#pid120448