PDA

View Full Version : چطور میشه با چندتا شرط در دیتابیس جستجو کرد؟



hamzehshabani
چهارشنبه 07 دی 1390, 17:27 عصر
سلام چطور میشه در دیتابیس اس کیو ال با چندتا شرط جستجو کرد؟

مثلا تصور کنید میخوام کسانی که اسمشون رضا و سال تولدشون هم 1369 باشه رو برام لیست کنه توی گرید ویو یا توی یک دیتابیس تمپ دیگه بریزه.

sayvan
چهارشنبه 07 دی 1390, 17:40 عصر
متغییر هار و به صورت عمومی تعریف میکنی
OleDbConnection cn;
OleDbDataAdapter da;
DataTable dt = new DataTable();

بعد در هر جایی خواستی جستجو کنی بعد نتیجه رو در دیتا گرید میریزی
cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\1.mdb");
da = new OleDbDataAdapter("Select * from TableName Where name like 'رضا' and birthdayyear =1369", cn);
da.Fill(dt);
dataGridView2.DataSource = dt;

اگر میخوای مثلاً به جار رضا از یه تکس باکس استفاده کنی
da = new OleDbDataAdapter("Select * from TableName Where name like '"+textBox1.Text+"' and birthdayyear =1369", cn);

hamzehshabani
چهارشنبه 07 دی 1390, 17:53 عصر
ممنونم یعنی فقط با اضافه کردن "and" میتونم توی اس کیو ال چندتا چیز رو همزمان بررسی کنم؟

sayvan
چهارشنبه 07 دی 1390, 17:59 عصر
آره دوست من میتونی چند تا and هم بذاری از or هم میتونی استفاده کنی

hamzehshabani
چهارشنبه 07 دی 1390, 18:24 عصر
چه ساده نمیدونستم ممنونم عزیزم راستی چطوری میشه اطلاعات یک لیست باکس رو به دیتابیس اضافه کرد؟ این رو هم میتونید بگید؟

sayvan
چهارشنبه 07 دی 1390, 18:30 عصر
اگه منظورتون ثبت در یک جدوله آیتم های لیست باکس رو خارج میکنی بعد تو ذجدول ذخیره میکنین
چرا میخوایین لیست باکس رو در یه جدول اضافه کنین که میشه فقط یه جدول یه ستونه دیگه منظورتون همینه؟

hamzehshabani
پنج شنبه 08 دی 1390, 09:48 صبح
تصور کنید یکسری ستون دارم که یکیش شماره سریال هست مثلا 5 تا از یک جنس رو میخوام توی انبار اضافه کنم و مقدار رو میزنم 5 بعدش توی یک لیست باکس شماره سریال هر کدوم از اجناس رو وارد میکنم یعنی 5 تا شماره سریال،حالا میخوام ثبت رو که زدم توی جدول خرید هام 5تا سطر بسازه که اسم محصول و اینهاش تکراری باشه اما توی قسمت شماره سریالش هر کدوم سریال خودش رو داشته باشه یعنی مثلا اگه گوشی Xperia X10 رو وارد انبار کردم 5بار این گوشی وارد جدول بشه و فقط توی قسمت سریال مقادیر مربوط به هر گوشی مخصوص باشه، همین.
حالا چطور میتونم مقادیر لیست باکسی که سریال ها رو توش وارد میکنم رو به ترتیب بریزم توی دیتابیس؟ اینکه میگی خارج میکنم مقادیر رو یعنی چی؟ مثلا یک لیبل بذارم که توی یه حلقه for به ترتیب مقادیر لیست باکس رو نشون بده بعد اون رو به دیتابیس اضافه کنم؟

rahmatr
پنج شنبه 08 دی 1390, 10:41 صبح
اگر میخوای مثلاً به جار رضا از یه تکس باکس استفاده کنی
استفاده به اون شکل مشکل امنیتی Sql Injection دارد. باید از پارامتر استفاده کنید. در این مورد مطالب زیادی در سایت هست جستجو کنید.


حالا میخوام ثبت رو که زدم توی جدول خرید هام 5تا سطر بسازه که اسم محصول و اینهاش تکراری باشه اما توی قسمت شماره سریالش هر کدوم سریال خودش رو داشته باشه یعنی مثلا اگه گوشی Xperia X10 رو وارد انبار کردم 5بار این گوشی وارد جدول بشه و فقط توی قسمت سریال مقادیر مربوط به هر گوشی مخصوص باشه، همین.
طراحی بانک اطلاعاتی شما مشکل دارد. باید یک جدول مخصوص اسم گوشی ها داشته باشید. اینجا را ببینید:
وارد کردن اطلاعات به database (http://barnamenevis.org/showthread.php?319291-%D9%88%D8%A7%D8%B1%D8%AF-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A8%D9%87-database)