PDA

View Full Version : دستور select برای date



sadegh.rj
یک شنبه 10 دی 1385, 22:51 عصر
با سلام
دستور select زیر یک متغیر از نوع string را به دیتا بیس میفرستد
strsql=" select * from sttable where name = ' "& strname &" ' "
حالا اگه متغیر strname به جای string از نوع date بود دستور چه شکلی می شه ؟

ArtCom
دوشنبه 11 دی 1385, 07:40 صبح
سلام شما باید مقدار ورودی رو به صورت پارامتر پاس بدین:
strsql=" select * from sttable where name =:x";
parameters.parambyname['x'].value:=strtodate(edit1.text);

Kamyar.Kimiyabeigi
دوشنبه 11 دی 1385, 07:49 صبح
با سلام
دستور select زیر یک متغیر از نوع string را به دیتا بیس میفرستد
strsql=" select * from sttable where name = ' "& strname &" ' "
حالا اگه متغیر strname به جای string از نوع date بود دستور چه شکلی می شه ؟

نوع دستور sql تغییر نمیکنه منتها شما باید با توجه به نیازتون متغییر تعریف کنین البته تعریف متغییر مستلزم اینه که شما sp تعریف کنین. البته sp خیلی بهتره از query که در مورد مزیتهای sp زیاد بحث شده و می تونین جستجو کنین

sadegh.rj
دوشنبه 11 دی 1385, 19:42 عصر
سلام شما باید مقدار ورودی رو به صورت پارامتر پاس بدین:
strsql=" select * from sttable where name =:x";
parameters.parambyname['x'].value:=strtodate(edit1.text);
لطفا در مورد خط دوم بیشتر توضیح
strtodate چرا استفاده شده؟ من میخوام یک متغیر را از نوع date ارسال کنم
و در خط اول یعنی x باید به صورت dim x as parameters بشه؟
اگه یک مثال بزنید خیلی ممنون میشم

Kamyar.Kimiyabeigi
سه شنبه 12 دی 1385, 07:21 صبح
شما درBOL یک نگاهی هم به datediff بیاندازین مخصوص کار با تاریخ

darvishiali
سه شنبه 12 دی 1385, 10:49 صبح
http://barnamenevis.org/forum/showthread.php?t=58098

sadegh.rj
سه شنبه 12 دی 1385, 11:35 صبح
با تشکر از راهنماییهای شما مشکلم حل شد
البته در آدرسی که عنوان فرمودید نتوانستم جوابی پیدا کنم
همانطور که ARTCOM اشاره کرده بودند با استفاده از پارامتر حل شد


strsql = "SELECT * FROM Books WHERE Datetime > @mydate"
da = New SqlClient.SqlDataAdapter(strsql, conn)
da.SelectCommand.Parameters.Add("@mydate", SqlDbType.DateTime).Value = mydate
ds = New DataSet