PDA

View Full Version : مشکل جستجو asp در پایگاه داده sql



محمدجواد67
یک شنبه 23 تیر 1392, 12:00 عصر
سلام
عبادات قبول
در sql یه پایگاه داده درست کردم و داخل آن یک table دارم این پایگاه داده تا وقتی داخل SQL Management هست جستجویی که در asp نوشتم درست کار می کنه اما وقتی منتقلش کردم به هاست نتیجه جستجو همیشه خالی هست. جستجو از نوع like هست
باید چه کار کنم
هاستم هم WebPanel هست خیلی ممنون.

arashnaderi
یک شنبه 23 تیر 1392, 14:10 عصر
سلام
خب تنطیمات کانکشن استرینگ رو به درستی روی هاست مربوطه انجام داده اید؟ بقیه جاهای داینامیک سایت کار میکنه فقط این قسمت کار نمیکنه؟

محمدجواد67
یک شنبه 23 تیر 1392, 14:50 عصر
کانکشن درسته
وقتی داخل textbox ها خالی هست تمام رکورد ها رو میاره اما وقتی یکحرف داخل textbox نوشته میشه و جستجو رو میزنم هیچ رکوردی نمیاره
یه سر به این صفحه بزن :
http://www.naslenikan.com/books.aspx

arashnaderi
یک شنبه 23 تیر 1392, 16:19 عصر
بیزحمت دستورات سی شارپ و اس کیو ال مربوطه را اینجا وارد کنید

محمدجواد67
یک شنبه 23 تیر 1392, 23:12 عصر
کد سی شارپ:

SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=109.73.74.8,8888 ;Initial Catalog=NasleNikan_DB1 ;User ID=naslenikan;Password=Ideal@1";
SqlDataAdapter adap = new SqlDataAdapter();
adap.SelectCommand = new SqlCommand();
adap.SelectCommand.Connection = con;
adap.SelectCommand.CommandText = "select * from globals_books where name like '%" + TextBox1.Text + "%' and entesharat like '%" + TextBox2.Text + "%' and moalf like '%" + TextBox3.Text + "%' ";
DataSet dset = new DataSet();
con.Open();
adap.Fill(dset, "1");
GridView1.DataSource = dset;
GridView1.DataMember = "1";
GridView1.DataBind();
con.Close();

arashnaderi
یک شنبه 23 تیر 1392, 23:24 عصر
ظاهرا که درسته. این خطو اینطوری تغییر بده ببین درست میشه

adap.SelectCommand.CommandText = "select * from globals_books where name like ('%'" + TextBox1.Text.Trim() + "'%') ...;

محمدجواد67
دوشنبه 24 تیر 1392, 04:10 صبح
کاری که گفتید انجام دادم اما نشد!!!

رکورد های داخل این جدول رو من از یه پایگاه داده دیگه ای انتقال دادم به این جدول توسط GenerateScript امکان داره مشکل از اینجا باشه ؟ ، چون وقتی جدول خالی بود چند تا رکورد به صورت دستی وارد کردم و در جستجو هم امتحان کردم هیچ مشکلی نداشت.
اگر رکوردها کم بود دستی وارد می کردم نزدیک به 1000 تا رکورده چه کنم؟

محمدجواد67
چهارشنبه 26 تیر 1392, 10:04 صبح
کسی نیست بدونه مشکل از کجاست؟

tree1371
چهارشنبه 26 تیر 1392, 12:38 عصر
آره امکانش هست . ساختار فیلد های اون جدول با شما یکی هست ؟ آیا نوع فیلد ها یکی هست ؟!

محمدجواد67
چهارشنبه 26 تیر 1392, 14:02 عصر
تشکر
ساختار ها یکی هست

اطلاعات رو موفق شدم ثبت کنم
اما مشکل اصلی در زبان است وقتی رکوردها به زبان انگلیسی ثبت بشه جستجو درست کار میکنه و هیچ مشکلی نیست اما اگر فارسی باشه درست کار نمی کنه یا متن رکورد ها رو به صورت علامت سوال نشون میده یا توی جستجویی که به صورت like نوشته شده نتیجه رو نمیاره یعنی وقتی textbox ها خالی باشه تمام رکورد ها رو میاره اما به محض اینکه داخل یکی از textbox ها چند کلمه ی اول یک فیلد از رکورها رو وارد می کنم و دکمه جستجو رو میزنم درست کار نمی کنه هیچ نتیجه ای رو نمیاره به اینجا یه سر بزن و جستجو رو ببین. http://www.naslenikan.com/books.aspx
اون دو تا رکوردی که فارسی ثبت شده از طریق sql managment وارد کردم
و دو رکوردی که علامت سوال هست و دو رکوردی که انگلیسی هست رو با application ای که به پایگاه داده سایت وصل هست وارد کردم

M_Tavakoli_70
چهارشنبه 26 تیر 1392, 14:13 عصر
useUnicode=true;characterEncoding=UTF-8 اینا را اخر connection stringet اضافه کن ببین درست میشه یا نه

محمدجواد67
چهارشنبه 26 تیر 1392, 17:14 عصر
از useUnicode ایراد میگیره


Keyword not supported: 'useunicode'.

tree1371
چهارشنبه 26 تیر 1392, 18:32 عصر
باید اون فیلدی که میفرستی Nvarchar کنی و یک N بزار فبل از تکست باکس

محمدجواد67
دوشنبه 31 تیر 1392, 16:38 عصر
خیلی ممنون مشکل حل شد با N گذاشتن قبل از textbox

یه سوال دیگه

چه کار کنم بین حرف -------ی------ و --------ي--------- فرقی نذاره برای جستجو؟