الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكله في البحث عن بياتات بالعربي

بدأه domo3-mjro7 في 1 يوليو 2013 · 2 رد · 592 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي مشكله في البحث في قاعدة بياتات MySQL عندما ابحث عن بياتات بالعربي حيث اني استخدم C# للاتصال بقاعدة البياتات وانا اعمل برنامج على visual studio2012 حيث اني انشات قاعدت البياتات من نفس البرنامج Microsoft SQL Server

في احد الجداول لدي حقل  custoures_name الاسم غالبا يكون بالعربي وعندما ابحث لا تظهر النتيجه ما العلم ان عندما ابحث بالانجليزي تظهر التنيجه صحيحه ايضا لدي بحث برقم الجوال ورقم العميل يعملان بشكل ممتاز من دون اي اخطا مجرد اني لما ابحث عن اي بيانات باللغه العربيه لا يظهر اي نتائج 

ملاحضه انا متاكد من الاكواد وصحتها حيث ان اكثر من برنامج عملته وتقريبا استخدم نفس الاكود حيث اني قد انشات كلاس يحتوي على اكواد الاتصال والبحث ودوال اخرى

هذا نسخه من اهم الدوال الموجوده في الكلاس والتي يدور سوالي حوله وايضا الكود الموجود تحت زر بحث

اتمنى ان اجد جواب باسرع وقت ممكن

تقبلو تحياتي :)

{    class database    {        SqlConnection con = new SqlConnection();        SqlConnection conn = new SqlConnection();        SqlCommand cmd = new SqlCommand();        DataTable tb;        public database()        {                 }        private void datbaseconnect()        {            conn.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename= |DataDirectory|DBproject.mdf;Integrated Security=True";                        cmd.Connection = conn;                }        private bool executd()    {        bool execut;        conn.Open();        try{         int i = cmd.ExecuteNonQuery();        if (i > 0)            execut = true;            else            execut = false;        }        catch{                    execut = false;        }        conn.Close();        return execut;    }        public bool search(string tabname, string[] selectFrom, string[] values)        {            tb = null;            tb = search(tabname, selectFrom, values,0);            if (tb.Rows.Count > 0)                return true;            else                return false;        }        public DataTable search(string tabname, string[] selectFrom, string[] values, int s = 0)        {            string selectT = "select * from [" + tabname;            if (selectFrom[0] == "" && values[0] == "")            {                selectT += "]";            }            else            {                selectT += "] where ";                int len = selectFrom.Length - 1;                for (int i = 0; i < selectFrom.Length; i++)                {                    if (s == 0)                    {                        if (i != len)                        {                            selectT += selectFrom + "='{" + i + "}' and ";                        }                        else                        {                            selectT += selectFrom + "='{" + i + "}' ";                        }                    }                    else                    {                        if (i != len)                        {                            selectT += selectFrom + " like'%{" + i + "}%' or ";                        }                        else                        {                            selectT += selectFrom + " like '%{" + i + "}%' ";                        }                    }                }            }            datbaseconnect();            cmd.CommandText = String.Format(selectT, values);            // tb = null;            DataTable tba = executeReaders();            return tba;        }        private DataTable executeReaders()        {            conn.Open();            tb = new DataTable();            tb.Load(cmd.ExecuteReader());            conn.Close();            return tb;        }        private bool executeReaders(int i)        {            tb = new DataTable();            tb = executeReaders();            if (tb.Rows.Count > 0)                return true;            else                return false;        }        public DataTable search(string s,int i)        {            SqlDataAdapter sda = new SqlDataAdapter("", con);            string sel;                        if (i==1)            {  sel="select * from customers where CName like % [0] % ";            }            else if (i == 3)            {                sel = "select * from customers where sellN like % [0] % or phone like %[0]% ";                            }            else if (i == 2)            {                 sel = "select * from customers where Id like %[0] % ";                           }           // sda.SelectCommand =String.Format(sel,s);            tb = new DataTable();            sda.Fill(tb);            return tb;        }               }}
 database db = new database();
            string tableName="customers";
            string [] val={textBox1.Text};
            if (comboBox1.SelectedItem =="اسم العميل")
                dataGridView1.DataSource = db.search(tableName, new[] { "Customers_name" }, val, 1);
            else if (comboBox1.SelectedItem == "رقم العميل")
                dataGridView1.DataSource = db.search(tableName, new[] { "Id" }, val, 1);
            else if (comboBox1.SelectedItem == "رقم الجوال")
                dataGridView1.DataSource = db.search(tableName, new[] { "cell_number" }, val, 1); ;
#2

السلام عليكم...

حاول بــ 

  selectT += selectFrom + "=N'{" + i + "}' and ";
2

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3

اخي houssam11350_11350 اشكرك على المساعده

وجربت والان البحث يعمل بالشكل المطلب

 

مشكور وجزاك الله خيرا

تم تعديل هذه المشاركة بواسطة domo3-mjro7 في 2 يوليو 2013 في 05:12

مواضيع مشابهة