PDA

View Full Version : سوال ریشه ای در رابطه با SQL



parcosoft
سه شنبه 29 شهریور 1390, 10:02 صبح
با سلام.
سوال:
چطور می شه برای ساختن Query از شرطی استفاده کنیم که از یک فیلد از یک فرم در .Vb.net تبعیت کنه.
مثلاً می خوام یک query درست کنم که شرط فیلد ID این باشه که محتوای فیلد ID مساوی باشه با Form1.Textbox1
??
لطفاً کمک کنید
..

من تا الان با Access کار می کردم اما خب خیلی حرفه ای.
دیگه وقتش رسیده که با Sql و .net بانکهای اطلاعاتی بنویسم.
فقط یه سوال ریشه ای همیشه مانع این شده که بتونم از Vb.Net استفاده کنم....

Felony
سه شنبه 29 شهریور 1390, 10:38 صبح
با استفاده از ابزارهای موجود تو اون زبان برنامه نویسی ( مثلا ADOQuery یا ... ) Query مورد نظرتون رو تو برنامتون مینویسید ، مثلا :
'
Select * From Table1 WHERE ID = ' + TextBox1.Text;

یا در SQL Server یک Stored Procedure تعریف میکنید و از طریق برنامتون بهش پارامتر میفرستید .

parcosoft
سه شنبه 29 شهریور 1390, 10:43 صبح
آقای تاجیک، میشه بیشتر و ساده تر بیان کنید؟!
من می خوام وقتی تو Sql ،یک Query می سازم، برای قسمت شرط فیلد، دقیقاً چی باید بنویسم.
برنامه نویسیم هم با VB.Net هستش

Felony
سه شنبه 29 شهریور 1390, 10:46 صبح
Query تون رو داخل اون زبان برنامه نویسی ( مثلا VB.Net ) مینویسید و به SQL Server ارسال میکنید و SQL Server اون رو اجرا میکنه یا اینکه از Stored Procedure استفاده میکنید ...

این راهنمایی کلی بود و از این ساده تر نمیشه گفت ، برای دیدن نمونه کد بهتر به تالار VB.Net مراجعه کنید .

parcosoft
سه شنبه 29 شهریور 1390, 14:09 عصر
ولی مشکل من هنوز حل نشد و درگیرش هستمپ
75543
می خوام Query بسازم که اطلاعاتی که نمایش می ده، user مساوی باشه با متنی که تو textbox فرم نوشتم.

raminsalmani
پنج شنبه 07 مهر 1390, 11:33 صبح
emailet ro baram sms kon ta ye file nemoone bet bedam 09371827865

یوسف زالی
پنج شنبه 07 مهر 1390, 15:05 عصر
سلام.
من خیلی با وی بی کار نکردم اما:
همیشه لازم نیست از کوئری بیلدر استفاده کنید.
بهتره که دستی مقدار کوئری رو ست کنید و در اون از پارامتر ها استفاده کنید.
حالا این پارامتر ها رو با توجه به شی ای که انتخاب می کنید می تونید Add کنید یا از ؟ استفاده کنید یا...
در این خصوص هم در تالار VB خیلی سریعتر به جواب می رسید تا در تالار تحلیل.
از این جهت عرض می کنم که کوئری که شما لازم دارید ساده هست اما دوستانی که در اینجا فعالیت می کنند با زبانهای متفاوتی در گیرند.
مثلا ممکنه منی که دلفی کار می کنم SQL رو خوب بدونم اما نتونم در طراحی کد زبان شما موفق باشم.
در نهایت کد همونی هست که دوست عزیزمون اشاره کردند.
اما نکته:
برای بررسی مساوی بودن دو رشته بهتره هر دو رو trim کنید.
موفق باشید.

sanay_esh
پنج شنبه 07 مهر 1390, 16:33 عصر
سلام این کد رو ببین خیلی بهت کمک میکنه

If ShFactor <> 0 Then
StrSql = "ShFactor=" & ShFactor
End If

If AzTarikh.Length > 0 And AzTarikh <> "__/__/__" Then
If StrSql <> "" Then
StrSql = StrSql & " And "
End If
StrSql = StrSql + " Tarikh>='" & AzTarikh & "'" + " and Tarikh<='" & TaTarikh & "' and (CodKhdmat=1 or CodKhdmat=2 or CodKhdmat=3)"
End If
If ShKhodro <> "" Then
If StrSql <> "" Then
StrSql = StrSql & " And "
End If
StrSql = StrSql & " ShKhodro like '%" & ShKhodro.Trim & "%' "
End If

If NamMalk <> "" Then
If StrSql <> "" Then
StrSql = StrSql & " And "
End If
StrSql = StrSql & " NamMalkkhodro like '%" & NamMalk.Trim & "%' "
End If

If NoaKhodro <> 0 Then
If StrSql <> "" Then
StrSql = StrSql & " And "
End If
If NoaKhodro <> 1 Then
StrSql = StrSql & " NoaKhodro=" & NoaKhodro & ""
End If
End If

fakhravari
سه شنبه 19 مهر 1390, 03:32 صبح
خوب فقط یه where می خواهید مثال
select * from t1 where id=@id
بعد با پارامتر بگیر مقداره id

fakhravari
سه شنبه 19 مهر 1390, 03:35 صبح
yousijoon عزیز
اگه امکان داره یه پروژه کوچیک با sp که با دلفی کار شده برام ارسال کنید . چون من با دلفی از طریق adoquery کار میکنم و نمی دونم به چه شکل از این sp استفاده کنم.
fakhravary@gmail.com