PDA

View Full Version : سوال: مشکل در کوئری جستجو



vahidth
یک شنبه 03 دی 1391, 10:19 صبح
سلام دوستان
من 4 تا فیلد در پایگه داده تعریف کردم حالا حالا وقتی کوئری جستجو رو مینویسم برای کد اجرا میشه ولی برای نام نه این کد رو ببینین
if (comboBox1.Text == "کد")
{
SqlDataAdapter da = new SqlDataAdapter(@"select * from zx WHERE id like N'%" + textBox9.Text + "%'", con);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
}
else if (comboBox1.Text == "نام")
{
SqlDataAdapter da = new SqlDataAdapter(@"select * from zx WHERE name like N '%" + textBox9.Text + "%'", con);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
}

veniz2008
یک شنبه 03 دی 1391, 10:41 صبح
سلام. اون حرف N که گذاشتید برای حروف فارسی هست. بنابراین برای if دوم هم که در ارتباط با نام هاست باید بذارید.
اما چرا این سبکی کد می نویسید؟. این شیوه نوشتن سال هاست که دیگه منسوخ شده.(هم از لحاظ امنیتی و هم اینکه ست کردن کوتیشن و دابل کوتیشن برنامه نویس رو اذیت میکنه). برنامه تون به سادگی قابلیت هک شدن داره. پیشنهاد اولم اینه که از stored procedure ها استفاده کنید ولی اگر دوست دارید که تمام کدها رو سمت سی شارپ بنویسید از پارامترها استفاده کنید.
موفق باشی دوست عزیز.

vahidth
یک شنبه 03 دی 1391, 10:56 صبح
میشه بگید چطوری بنویسم با استفاده از stored procedure لطفا با کد توضیح بدین یه نمونه بزارین ممنون

vahidth
یک شنبه 03 دی 1391, 12:58 عصر
کسی نیست ما رو کمک کنه

ordebehesht
یک شنبه 03 دی 1391, 13:34 عصر
سلام دوستان
من 4 تا فیلد در پایگه داده تعریف کردم حالا حالا وقتی کوئری جستجو رو مینویسم برای کد اجرا میشه ولی برای نام نه این کد رو ببینین
if (comboBox1.Text == "کد")
{
SqlDataAdapter da = new SqlDataAdapter(@"select * from zx WHERE id like N'%" + textBox9.Text + "%'", con);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
}
else if (comboBox1.Text == "نام")
{
SqlDataAdapter da = new SqlDataAdapter(@"select * from zx WHERE name like N '%" + textBox9.Text + "%'", con);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
}

N رو ببر پشت % جولو (N%')

vahidth
یک شنبه 03 دی 1391, 14:19 عصر
کار نکرد داداش من

vahidth
یک شنبه 03 دی 1391, 16:09 عصر
از دوستان یکی منو کمک کنه یکی از دوستان گفت از stored procedure استفاده کن آخه چطوری همین کد رو چطوری به stored procedure تبدیل کنم

veniz2008
یک شنبه 03 دی 1391, 17:07 عصر
درباره stored procedure خیلی بحث شده. انتظار میرفت که جستجو کنید ( حالا داخل این سایت یا هر جای دیگه ای). قبلا در تاپیک زیر و در پست 10 نحوه ساخت sp (همون store procedure ) رو بصورت ویدئویی گذاشتم. شما یه sp بسازید و داخلش کد زیر رو بنویسید و اونو اجرا کنید تا هم ذخیره بشه هم مطمئن بشید که خطایی نداره (برای اجرا هم باید همون دکمه تعجب قرمز رنگ ! رو بزنید ) :

create proc selectlike
@name nvarchar(50)
as
select * from zx where name like '%' + @name + '%'
go
حالا سمت سی شارپ و داخل دکمه ای که قرار دادید کد زیر رو بنویسید (کانکشن رو طبق سیستم و دیتابیس خودتون تنظیم کنید) :

SqlConnection con = new SqlConnection("server = .\\md2008;database = university;integrated security = true");
SqlDataAdapter da = new SqlDataAdapter("selectlike", con);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.AddWithValue("@name", textBox9.Text);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count == 0)
{
dataGridView1.Visible = false;
}
else
{
dataGridView1.Visible = true;
dataGridView1.DataSource = dt;
}
فقط یه نصیحت : اگر همش منتظر دیگران بمونید به جایی نمیرسید. اصل خود شخص هست، دیگران و کمکشون باید فرع باشه.
موفق باشی دوست عزیز.

vahidth
یک شنبه 03 دی 1391, 22:21 عصر
N رو ببر پشت % جولو (N%')
داداش کار نکرد این کد شما

veniz2008
یک شنبه 03 دی 1391, 22:34 عصر
ببخشید لینک مربوط به ساخت sp رو فراموش کردم بزارم. ( پست 10 رو مشاهده کنید) :
http://barnamenevis.org/showthread.php?348780-%DA%86%DA%AF%D9%88%D9%86%DA%AF%DB%8C-%D8%AA%D9%87%DB%8C%D9%87-%DA%A9%D9%BE%DB%8C-%D8%A7%D8%B2-%D9%81%D8%A7%DB%8C%D9%84-%D9%87%D8%A7%DB%8C-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%A8%D9%87-%D9%85%D9%86%D8%B8%D9%88%D8%B1-%D8%AA%D9%87%DB%8C%D9%87-%D9%BE%D8%B4%D8%AA%DB%8C%D8%A8%D8%A7%D9%86&highlight=Restore

vahidth
دوشنبه 04 دی 1391, 08:51 صبح
ممنون ازت داداش حالا چطوری میتونم یه sp بسازم مثلا همین کوئری جستجو رو و در سی شارپ ازون استفاده کنم دقیق توضیح بده

veniz2008
دوشنبه 04 دی 1391, 09:33 صبح
ممنون ازت داداش حالا چطوری میتونم یه sp بسازم مثلا همین کوئری جستجو رو و در سی شارپ ازون استفاده کنم دقیق توضیح بده
مشخصه که به پست هایی که میزارم توجه کافی رو ندارید وگرنه این سوال رو نمی پرسیدی. در پست 8 کامل واستون توضیح دادم.
موفق باشی.