جستجو دیتابیس آنلاین

سوال

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

این کد برای دیتابیس آفلاین هست. آیا ممکن هست بفرمایید برای دیتابیس آنلاین مثلا برای سرچ در دیتابیس دیکشنری چه کدی باید بنویسم
؟
تشکر

Dim cur1 As Cursor
cur1=s.ExecQuery("SELECT farsi,english,talafoz  FROM table WHERE farsiLIKE '"&EditText1.Text&"'")
For i = 0 To cur1.RowCount-1
cur1.Position=i
ListView1.AddTwoLines(cur1.GetString("farsi"),cur1.GetString("english"))

توجه: من از دیتبابیس هم واژه و هم معنایش را فراخوانی می کنم و در دو لیبل لیست ویو نشان می دهم.  اما نمی دادنم «ExecQuery» برای انلاین چطوری نوشته می شود

باز هم سپاس

در حال بررسی 0
2019-04-22T05:40:20+03:30 5 پاسخ کاربر تازه 0

پاسخ ها ( 5 )

    0
    2019-04-23T21:36:54+03:30

    سلام.

    برای سرچ توی دیتابیس آنلاین، ابتدا باید فایل سرچ پی اچ پی رو بنویسی و در هاست آپلود کنی

    و سپس دستورات مربوطه رو توی بیسیک بنویسی تا پارامتر سرچ رو ابتدا به فایل پی اچ پیت بفرسته و سپس جواب رو از همون فایل پی اچ پیت بگیره و نمایش بده.

    یه جورایی همون سلکت میشه.

    0
    2019-04-27T12:43:00+03:30

    سلام اقای مرتضی ممنونم

    بله پی اچ پی رو من دیدم و نوشتم. اما ظاهرا در بسیک فور اندورید هم یک سری کدهایی داره. برای یافتن واژه ها در دیتابییس و لیست کردن و نشان دادن در لیست ویوو.

     

    1
    2019-04-29T13:59:18+03:30

    سلام

    شما وقتی در سمت سرور یک متنی رو جستجو میکنی، نتیجه ی اون درخواست رو داخل یک متغیر ذخیره میکنید، سپس سمت بیسیک باید بیای و اطلاعات رو پردازش و تو لیست ویو نمایش بدی.

    کدهای سمت سرور:

    ساده ترین روش اتصال به بانک، اگر با روش اتصال شما به بانک فرق داره، فقط کدهای بخش select رو بردارید و استفاده کنید.

    <?php
        error_reporting(0);
        $con = mysql_connect('localhost','username','passowrd');
        $key=$_POST['key'];
    
        if($con){
            mysql_select_db('beporsam_db',$con);
            mysql_set_charset('utf8');  
            $q="SELECT * FROM tbl_user where name like '%$key%'";
            $result=mysql_query($q);
        
            $result2 = array();
            while(($row = mysql_fetch_assoc($result)))
            $result2[] = $row;
        
            if($result2){
                echo json_encode($result2);    
    		}
        else {
    		echo "No!";
    		}
        }
     ?>
    • در خط 4، رشته ای(کلمه ای) هست از که سمت بیسیک می فرستیم به فایل php تا بر اساس اون جستجو انجام بشه.

    کدهای سمت کلاینت(B4A):

    Sub Activity_Create(FirstTime As Boolean)
    	Dim htsearch As HttpJob
    	Dim go As String
    	go="key="&SearchText.Text
    	htsearch.Initialize("htsearch",Me)
    	htsearch.PostString("http://yoururl/search.php",go)
    End Sub	
    Sub JobDone1(job As HttpJob)
    Dim lst As List
    Dim mp As Map
    Dim json As JSONParser
    
    	If job.JobName="htsearch"  Then
    		If job.GetString.IndexOf("nist")==-1 Then
    			ToastMessageShow("نتیجه ای یافت نشد.",False)
    		Else
    			json.Initialize(job.Getstring)
    			lst=json.NextArray
    			For i=0 To lst.Size-1
    				mp=lst.Get(i)
    				listv.AddTwoLines(mp.Get("username"),mp.Get("password"))
    			Next
    		End If
    	
    	End If
    End If
    
    End Sub

    در تکه کد بالا، برنامه ای نوشتیم که در جدول tbl_user(که این جدول دو ستون username,password) داره، بعد از جستجو در سمت کلاینت اطلاعات رو دریافت میکنیم و در لیست ویو نمایش میدیم.

    موفق باشید.

      0
      2019-05-12T06:53:06+03:30

      اقای مدیر

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

      مشکل این دو تکه کدی که شما نوشتید این هست که

      در قسمت بیسیک، برای رویداد کلیلک دکمه سرچ کدی ننوشتید.

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

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

    1
    2019-05-04T07:54:17+03:30

    سلام ممنونم جناب مدیر

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

    ht.Initialize("job" , Me)
    ht.PostString("http://aaaaaaaaaaaaaaa.ir/index.php","")
    

    این هم که معرفی دیتابیس هست

    If File.Exists(File.DirInternal,"aaaaaaaa.db")=False Then
    File.Copy(File.DirAssets,"aaaaaaaa.db",File.DirInternal,"aaaaaaa.db")
    End If
    
    If sql.IsInitialized=False Then
    sql.Initialize(File.DirInternal,"aaaaaaaa.db",True)
    End If
    

     

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

    Sub JobDone (job As HttpJob)
    If job.Success = True Then
    Dim cur As Cursor
    Dim bas As List
    Dim m As Map
    m.Initialize
    js.Initialize(job.GetString)
    m=js.NextObject
    bas=m.get("b4a")
    
    For i=0 To bas.Size-1
    m=bas.Get(i)
    cur=sql.ExecQuery("select ..... from ..... where .... like'%"&EditText1.Text&"%'")
    If cur.RowCount=0 Then
    
    sql.ExecNonQuery("insert into .....(.....)Values('"&m.Get("....")&"','"&m.Get("....")&"')")
    End If
    

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

    Sub Button1_Click
    Dim cur2 As Cursor
    ' cur=sql.ExecQuery("select * from ....")
    cur2=sql.ExecQuery("SELECT .... FROM ... WHERE ... LIKE '%"&EditText1.Text&"%'")
    For i=0 To cur2.RowCount-1
    cur2.Position=i
    ListView1.Addsingleview(cur2.GetString("...")
    
    1
    2019-05-23T21:46:10+03:30

    آموزش جستجو در دیتابیس آنلاین در سایت منتشر شد.

    آموزش ارتباط با سرور آنلاین در B4A – قسمت هشتم(جستجو)

ارسال یک پاسخ