نمایش نتایج 1 تا 13 از 13

نام تاپیک: جست و جوی پیشرفته

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    ایلام
    پست
    176

    جست و جوی پیشرفته

    با سلام
    دویتان من یه برنامه ای دارم که از پایگاه داده اس کیو ال استفاده می کنه .
    تو یه قسمت از برنامه نیاز به سرچ دارم که بصورت زیر باشه :
    جست و جو بر اساس نام مشتری هستش . می خوام وقتی حرف حرف نام رو می نویسم نام هایی که با اون حروف مطابقت داره رو نشونم بده (توی دیتاگرید ویو نمایش می ده)
    مثال : مثلا وقتی می خوام اسم مسعود رو سرچ کنم
    مرحله اول : م رو وارد می کنم -- اسم هایی که اولشون م هست رو نشون بده مثل : مازیار - مسعود - مهیار و ...
    مرحله دوم : س رو وارد کنم ---- داده هایی مثل : مستانه - مسعود و ...
    و همینجوری پیش بره
    ممنون از کمکتون
    لازم به ذکره قبل اینکه تاپیک بزنم خیلی گشتم فقط یه مورد پیدا کردم که اون از dll استفاده کرده بود

  2. #2
    کاربر دائمی آواتار fool66
    تاریخ عضویت
    آذر 1390
    محل زندگی
    Telegram.me/programmerirani
    پست
    576

    نقل قول: جست و جوی پیشرفته

    جستجوووووووووووووو
    https://barnamenevis.org/showthread.p...81%D8%AA%D9%87

  3. #3

    نقل قول: جست و جوی پیشرفته

    تویه Text_change اینطوری بنویس.
    SqlConnection objconn = new SqlConnection();
    objconn.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Dbname.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
    SqlCommand objcomm = new SqlCommand("select Name from Table_1", objconn);
    objconn.Open();
    SqlDataReader myReader = objcomm.ExecuteReader();
    DataTable dt = new DataTable();
    dt.Load(myReader);
    DataView dv = new DataView(dt);
    dataGridView3.DataSource = dv;
    dv.RowFilter = "Name LIKE'%" + textBox1.Text + "%'";

    if (textBox1.Text == "")
    {
    dataGridView3.DataSource = "";
    }

  4. #4
    کاربر دائمی آواتار matin.soft
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    آذربایجان
    پست
    255

    نقل قول: جست و جوی پیشرفته

    سلام دوست عزیز
    شما از این دستور اس کیو ال استفاده کنید.
    SELECT column_name(s)
    FROM table_name
    WHERE column_name LIKE pattern;

    به جای پترن می تونید بر حسب نیاز از این موارد استفاده کنید :
    اگه می خواهید جستجو بر حسب حرف اول باشه : %م
    اگر می خواهید جستجو بر حسب حرف آخر باشد : م%
    اگر می خواهید حرف دوم یا سوم و .. جستجو شود : %م_
    توضیحات کامل مقاله رو می تونید در لینک زیر به زبان اصلی ببینید.
    http://www.w3schools.com/sql/sql_like.asp
    موفق باشید

  5. #5

    نقل قول: جست و جوی پیشرفته

    سلام.
    دوست عزیز شما رو یک راهنکایی کلی میکنم.
    تمامی جستجو ها با دستور Like انجام میشه هر جور که فکر کنید میتونید با این دستور جستجو کنید این دستور را خوب یاد بگیرید.
    به طور مثال:
    select name from table1 where name like '--a' dar in dastor
    این دستور تمام اسم هایی که حرف سومشون ش است را بر میگرداند.
    مثل: abas , ......

  6. #6
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    ایلام
    پست
    176

    نقل قول: جست و جوی پیشرفته

    دوست من اینجا خوب باید حرف رو خودمون توی دستور بنویسیم
    من نمی خوام اینجوری باشه
    می خوام حرفی که توی تکست باکس می نویسه رو برام سرچ بزنه
    نقل قول نوشته شده توسط hessam2003 مشاهده تاپیک
    سلام.
    دوست عزیز شما رو یک راهنکایی کلی میکنم.
    تمامی جستجو ها با دستور Like انجام میشه هر جور که فکر کنید میتونید با این دستور جستجو کنید این دستور را خوب یاد بگیرید.
    به طور مثال:
    select name from table1 where name like '--a' dar in dastor
    این دستور تمام اسم هایی که حرف سومشون ش است را بر میگرداند.
    مثل: abas , ......

  7. #7

    نقل قول: جست و جوی پیشرفته

    اگه منظورت تحت وبه من با php و ajax توضیح میدم:
    اول یه تکست باکس ایجاد می کنیم برای وارد کردن عبارت جستجو و یه لایه زیرش برای نمایش ریزالت ها و یه فایل php کنارش برای جستجو و یه بانک اصلاعاتی

    مثلا اگه اسم فایل php باشه search.php تو فایل html یه همچین کدی رو وارد کن:
    کد HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <script language="javascript" type="text/javascript">
    function dosearch(){
        name = document.search_frm.name.value;
    	var xmlhttp;
            if (window.XMLHttpRequest){
    			xmlhttp=new XMLHttpRequest();
            }
            else{
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange=function(){
    			if(xmlhttp.readyState!=4){
    				document.getElementById('result').innerHTML="";
    			}
                else if (xmlhttp.readyState==4 && xmlhttp.status==200){
    				document.getElementById('result').innerHTML=xmlhttp.responseText;
                }
            }
    	xmlhttp.open("GET",'search.php?name='+name,true);
    	xmlhttp.send();
    }
    </script>
    </head>
    
    <body>
    <form name="search_frm">
    <input name="name" onkeyup="dosearch()" />
    <div id="result"></div>
    </form>
    </body>
    </html>
    بعد تو فایل php یه همچین کدی رو باید وارد کنی:
    $connection=mysql_connect('127.0.0.1','root','')or die(mysql_error());
    @mysql_select_db('test',$connection)or die(mysql_error());
    $name = trim($_GET['name']);
    $query = "SELECT * FROM `owners` WHERE(`name` LIKE '%$name%')";
    if($name != "" ){
    if(mysql_num_rows(mysql_query($query)) < 1){
    echo 'رکوردی یافت نشد';
    }
    else{
    $num = mysql_num_rows(mysql_query($query));
    for ( $a=1 ; $a <= $num ; $a++ ){
    $b = $a - 1;
    $name = mysql_fetch_array(mysql_query($query." LIMIT $b ,$num" , $connection) );
    echo $name['name']."<br />";
    }
    }
    }
    آخرین ویرایش به وسیله mfungroup : جمعه 17 خرداد 1392 در 12:13 عصر دلیل: کد تست نشده بود

  8. #8
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    ایلام
    پست
    176

    نقل قول: جست و جوی پیشرفته

    دوست من اینجا خوب باید حرف رو خودمون توی دستور بنویسیم
    من نمی خوام اینجوری باشه
    می خوام حرفی که توی تکست باکس می نویسه رو برام سرچ بزنه
    نقل قول نوشته شده توسط hessam2003 مشاهده تاپیک
    سلام.
    دوست عزیز شما رو یک راهنکایی کلی میکنم.
    تمامی جستجو ها با دستور Like انجام میشه هر جور که فکر کنید میتونید با این دستور جستجو کنید این دستور را خوب یاد بگیرید.
    به طور مثال:
    select name from table1 where name like '--a' dar in dastor
    این دستور تمام اسم هایی که حرف سومشون ش است را بر میگرداند.
    مثل: abas , ......

  9. #9
    کاربر دائمی آواتار fool66
    تاریخ عضویت
    آذر 1390
    محل زندگی
    Telegram.me/programmerirani
    پست
    576

    نقل قول: جست و جوی پیشرفته

    تایپیکی که دادم رو نگاه می کردی
    System.Data.SqlClient.SqlCommand SqlCommand = new System.Data.SqlClient.SqlCommand();
    SqlCommand.Connection = SqlConnection;
    SqlCommand.CommandType = CommandType.Text;
    SqlCommand.CommandText = "SELECT id , name , fname , namepedar FROM ViewName WHERE id<>0 ";

    if (this.textBox_name.Text.Trim().Length != 0)
    SqlCommand.CommandText += "AND name LIKE(N'" + this.textBox_name.Text.Trim() + "%') ";

    if(this.textBox_fname.Text != string.Empty)
    {
    SqlCommand.CommandText += " AND fname LIKE(N'" + this.textBox_fname.Text.Trim() + "%') ";
    }
    if (this.textBox_namepedar.Text != string.Empty)
    {
    SqlCommand.CommandText += " AND namepedar LIKE(N'" + this.textBox_namepedar.Text.Trim() + "%') ";
    }

    SqlCommand.CommandText += "ORDER BY fname";
    DataTable dataTable = new DataTable();
    SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
    sqlDataAdapter.SelectCommand = SqlCommand;
    sqlDataAdapter.Fill(dataTable);
    this.dataGridView1.DataSource = dataTable;


    دوستمون هم جناب keyvan_s89 کدشون درسته

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

  10. #10
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    ایلام
    پست
    176

    نقل قول: جست و جوی پیشرفته

    دمت گرم داداش
    نقل قول نوشته شده توسط keyvan_s89 مشاهده تاپیک
    تویه Text_change اینطوری بنویس.
    SqlConnection objconn = new SqlConnection();
    objconn.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Dbname.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
    SqlCommand objcomm = new SqlCommand("select Name from Table_1", objconn);
    objconn.Open();
    SqlDataReader myReader = objcomm.ExecuteReader();
    DataTable dt = new DataTable();
    dt.Load(myReader);
    DataView dv = new DataView(dt);
    dataGridView3.DataSource = dv;
    dv.RowFilter = "Name LIKE'%" + textBox1.Text + "%'";

    if (textBox1.Text == "")
    {
    dataGridView3.DataSource = "";
    }

  11. #11
    کاربر دائمی آواتار roolinjax
    تاریخ عضویت
    تیر 1390
    محل زندگی
    جایی که آرامش باشد.
    سن
    36
    پست
    312

    نقل قول: جست و جوی پیشرفته

    سلام جواب کیوان درسته دیگه
    اینم یه روش دیگه
            private void txtfamily_TextChanged(object sender, EventArgs e)
    {
    SqlConnection con = new SqlConnection("کانکشن استرینگ");
    SqlDataAdapter da = new SqlDataAdapter();
    DataSet ds = new DataSet();
    con.Open();
    SqlCommand cmd = new SqlCommand("SELECT * FROM tbl1 where name like '%" + txtname.Text + "%'",con);
    da.SelectCommand = cmd;
    da.Fill(ds);
    if (ds.Tables[0].Rows.Count > 0)
    dataGridView1.DataSource = ds.Tables[0];
    else dataGridView1.DataSource = null;
    }

  12. #12
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    ایلام
    پست
    176

    نقل قول: جست و جوی پیشرفته

    آره روش کیوان درسته فقط یه اشکال کوچولو داره . وقتی یه حرف رو وارد می کنی برای حرف بعدی ارور باز بودن کانکشن رو میده باید آخر دستورات connection.close() رو بزنیم

  13. #13
    کاربر دائمی آواتار roolinjax
    تاریخ عضویت
    تیر 1390
    محل زندگی
    جایی که آرامش باشد.
    سن
    36
    پست
    312

    نقل قول: جست و جوی پیشرفته

    نقل قول نوشته شده توسط masoodz مشاهده تاپیک
    آره روش کیوان درسته فقط یه اشکال کوچولو داره . وقتی یه حرف رو وارد می کنی برای حرف بعدی ارور باز بودن کانکشن رو میده باید آخر دستورات connection.close() رو بزنیم
    بله درسته اصلا به نظر من اگر لایه ای بنویسید که خیلی بهتره (روش دیگه اینه که همین کارایی که شما انجام دادین رو به شکل دیگه انجام بدین؛ به این صورت که توی فرم لود ارتباط رو برقرار کنید و موقع بستن فرم کانکشن رو ببنید " این بهینه تره "
    کانکشن رو Dispose هم میشه کرد

تاپیک های مشابه

  1. سورس قرآن با امکان جست و جوی اعراب و ...
    نوشته شده توسط Ner'zhul Arthas در بخش VB.NET
    پاسخ: 34
    آخرین پست: دوشنبه 09 بهمن 1402, 09:57 صبح
  2. جست و جوی پیشرفته
    نوشته شده توسط mammad_asir در بخش C#‎‎
    پاسخ: 3
    آخرین پست: شنبه 10 بهمن 1388, 16:26 عصر
  3. جست و جوی یک کلمه در یک عکس
    نوشته شده توسط m0rteza در بخش C#‎‎
    پاسخ: 1
    آخرین پست: پنج شنبه 24 آبان 1386, 18:49 عصر
  4. جست و جوی یک رکورد خاص در بانک Access
    نوشته شده توسط alone_rana0101 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 10
    آخرین پست: سه شنبه 18 بهمن 1384, 08:57 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •