PDA

View Full Version : یه سوال ریز در مورد SQL



Fagat_tanhaie
شنبه 17 بهمن 1383, 23:24 عصر
با سلام

از کد زیر

Set myRecordSet = myConnection.Execute("Insert Into search Select * From book where Onvan
=
('%" & Text1.Text & "%')")

استفاده کردم ولی جواب نمیده

ولی وقتی بجای متغیر از مقدار ثابت استفاده میکنم جواب میده .
در ضمن وقتی بجای = از Like استفاده میکنم جواب میده چرا نمیشه تو = از متغیر
استفاده کرد و برای استفاده از متغیر چیکار باید کرد ؟

مرسی

Behrouz_Rad
یک شنبه 18 بهمن 1383, 07:20 صبح
کد فوق را به شکل زیر اصلاح کنید:


Set myRecordSet = myConnection.Execute("Insert Into search Select * From book where Onvan
='" & Text1.Text & "'")

یا اگر قصد استفاده از دستور Like را دارید به شکل زیر:


Set myRecordSet = myConnection.Execute("Insert Into search Select * From book where Onvan
Like '%" & Text1.Text & "%'")


ولی وقتی بجای متغیر از مقدار ثابت استفاده میکنم جواب میده .
در ضمن وقتی بجای = از Like استفاده میکنم جواب میده چرا نمیشه تو = از متغیر
استفاده کرد و برای استفاده از متغیر چیکار باید کرد ؟
ببین عزیز جان! Wild Character ها در SQL فقط با دستور Like قابل استفاده هستند.
برای اینکه از متغیر استفاده کنید، در زمان استفاده از کاراکتر = از Wild Character ها استفاده نکنید.
موفق باشید.

Fagat_tanhaie
یک شنبه 18 بهمن 1383, 23:08 عصر
thanks so much
i m not in home now and i cant check it
please tell me " between" works same ?
its very important for me
:flower: :flower: :flower: :flower: :flower:

Behrouz_Rad
سه شنبه 20 بهمن 1383, 06:44 صبح
دستور Between مشخص کننده ی شرطی در محدوده ی خاصی است.


"SELECT ContactName," _
& " CompanyName, ContactTitle, Phone" _
& " FROM Customers" _
& " WHERE CustomerID" _
& " IN (SELECT CustomerID FROM Orders" _

& " WHERE OrderDate Between #04/1/95#" _
& " And #07/1/95#);"

برای فیلدهای از نوع تاریخ حتما باید آنها را بین دو علامت # قرار دهید.
برای فیلدهای متنی بین تک کوتیشن و فیلدهای عددی نیز نیازی ندارند و به صورت مستقیم نوشته می شوند.
خواستم جواب رو به صورت انگلیسی بدم ولی شاید مدیر انجمن خوشش نیاد....
مثل اینکه شما با انگلیسی بیشتر حال می کنید. هر جور شما می خواید ما هم پایه ایم...
موفق باشید.
:wise1:

Fagat_tanhaie
سه شنبه 20 بهمن 1383, 14:12 عصر
thanks so mush.
i use eng because i cant write farsi in opera web browser
but I get the date from a textbox , how to use it in between ?

:) :flower:

Behrouz_Rad
سه شنبه 20 بهمن 1383, 16:19 عصر
it's easy
replace values in condition with your text box value.
follow the example:


"SELECT ContactName," _
& " CompanyName, ContactTitle, Phone" _
& " FROM Customers" _
& " WHERE CustomerID" _
& " IN (SELECT CustomerID FROM Orders" _

& " WHERE OrderDate Between #" & Text1.Text _
& "# And #" & Text2.Text & "#);"

please see my second paragraph in second reply for more details.
good luck.
:wise1:

Fagat_tanhaie
چهارشنبه 21 بهمن 1383, 11:43 صبح
دمت گرم

خیلی ممنون از اینکه زود جواب دادی :تشویق: