PDA

View Full Version : خانم جنتی لطفا بخوانند ( در مورد SQL )



Vahid_Nasiri
دوشنبه 15 اردیبهشت 1382, 11:51 صبح
جان هر کسی که دوست دارید از PM برای سوال پرسیدن استفاده نکنید. فوروم را برای همین درست کرده اند.

کد شما به صورت زیر است :


strsql="select * from table1 wehre dat<'" & dat1 & " dat>'" & dat2 &"'"

فکر می کنید ایراد آن در چیست ؟ یک ایراد که برای همه هم پیش می آید! املای کلمه where را اشتباه نوشته اید. معمولا این چیزها برای هر کسی اتفاق می افتد.

ایراد دوم!
وقتی شما دارید از استرینگ استفاده می کنید و اگر با ' شروع می کنید خوب باید آنرا با همین ' ببندید! در کد فوق اینکار را نکرده اید ( در مورد دت اول ). این مورد هم برای هر کسی اتفاق می افتد!


خلاصه :


strsql="select * from table1 where dat<'" & dat1 & "' dat>'" & dat2 &"'"

Vahid_Nasiri
دوشنبه 15 اردیبهشت 1382, 11:53 صبح
یک ایراد دیگر هم دارد! شرمنده!
یک and اون وسط جا افتاده! این یکی به صورت زیر خواهد شد در آخر :


strsql="select * from table1 where dat<'" & dat1 & "' and dat>'" & dat2 &"'"

jannati
دوشنبه 15 اردیبهشت 1382, 12:19 عصر
آقای نصیری با سلام

از اینکه اینقدر شما را عصبانی کردم شرمنده.قول میدم دفعه آخری باشه که براتون pmزدم.راستش من دیدم به این تاپیک سرنزدید ،pmزدم.

در ثانی کد من دقیقا مثل آخرین کدی است که شما نوشته اید .منتهی به علت اینکه در اینجا با عجله وارد کردم کلمه Where درست تایپ نشده یا اینکه اشکالات تایپی دیگر دارد.

در هر صورت از راهنماییهای شما متشکرم

Vahid_Nasiri
دوشنبه 15 اردیبهشت 1382, 14:45 عصر
فقط چون شمایید!! :wink: :lol:

یک مثال کامل در مورد آمار گیری از تاریخ تا تاریخ :

1- یک پروژه جدید باز کنید و یک data report به آن اضافه نمایید
2- یک کنترل adodc را از منوی کامپوننت به برنامه و فرم خود اضافه کنید.
3- فرض کنیم نام جدول برنامه شما tbl1 و نام فیلد تاریخ dat است از نوع استرینگ و امثال اینها!
4- روی data report یک کنترل rptTextBox قرار دهید و در خاصیت dataField آن در برگه ی خواص نام همین فیلد تاریخ یعنی dat را وارد کنید.
5- حالا از کدهای زیر می توانید برای آمار گیری استفاده کنید:



DyanamicBindingToDataReportSet_txtDataFiledsManual ly _
rptReport1, _
"select * from tbl1 where dat>='" + Trim(cmb_due_date_from.Text) + _
"' and dat<='" + Trim(cmb_due_date_to.Text) + "' "

نحوه ی پیاده سازی این تابع نوشته شده :


Public Sub DyanamicBindingToDataReportSet_txtDataFiledsManual ly( _
dataRPT As DataReport, _
ByVal strSQL As String)

On Error GoTo local_err

With mvarsetAdoDcControl
.CommandType = adCmdText
.RecordSource = strSQL
.Refresh
End With
' Connect the Recordset to the DataReport.
Set dataRPT.DataSource = mvarsetAdoDcControl

Exit Sub
local_err:
MsgBox Str(Err.Number) + " " + Err.Description, vbExclamation + vbSystemModal, "DyanamicBindingToDataReport Error !"
End Sub

قبل از استفاده از تابع فوق باید mvarsetAdoDcControl را به کنترل adodc که روی فرم گذاشته اید ست کنید یعنی :



Public Sub bindingToAdodc()
On Error GoTo local_err

With mvarsetAdoDcControl
.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Persist Security Info=False;" & _
"Data Source=" & mvarDataBaseFileName & ";"
.CursorLocation = adUseClient
.CommandType = adCmdTable
.RecordSource = clsDB_TableName
.Refresh
End With

Exit Sub
local_err:
MsgBox Str(Err.Number) + " " + Err.Description, vbCritical + vbSystemModal, " openRecordSetADODBWithODBC Error..."

End Sub

و اینکار به طور معمول در فورم لود قرار می گیرد. پارامترهای آن را هم مانند نام جدول و فیلد و غیره را می توانید به سادگی خودتان ست کنید.



حالا تابع اول در بالا را صدا بزنید و سپس


rptReport1.WindowState = 2
rptReport1.Show


من هیچ علاقه ای به استفاده از ابزارهای ویژوال مایکروسافت برای اینگونه کارها ندارم منظورم دیتا ان وای رومنت و امثال اینها است. اگر توانستید با کد نویسی این کارها را انجام دهید یعنی مطلب را کمی تا قسمتی فهمیده اید در غیر اینصورت با کوچکترین ایرادی در برنامه باید بنشینید و زار بزنید!



---------------------------------------
لطفا یک نفر هم لطفا کند و یک مقاله برای من در مورد اکتیو دایرکتوری و دی ان اس و تنظیمات مخصوص آن برای asp.net با سی شارپ برای کامپیوتری که دامین کنترولر است اینجا بنویسد. خیلی مسخره است! وقتی اینها را روی سیستم ست می کنید بطور کامل asp.net شما از کار می افتد !! :cry:

Inprise
دوشنبه 15 اردیبهشت 1382, 15:05 عصر
برادر نصیری

ویندوز من 2000 ادونس سرور است و سرویسهای فوق رو دارم ، همزمان بدون مشکل با ویژوال استودیو کار میکنم . منظور شما از وقفه در ASP .NET دقیقا چیست ؟ IIS سرویس میدهد ؟

Vahid_Nasiri
دوشنبه 15 اردیبهشت 1382, 15:20 عصر
منظور من این بود که بعد از نصب اینها ( دی ان اس و اکتیو دایرکتوری و .... ) دیگر قسمت ای اس پی دات نت ویژوال استودیو کار نمی کند. احتمالا باید یک یوزر با سطح دسترسی مشخص برای دات نت فریم ورک تعریف کرد و سپس فایل ماشین کانفیگ دات نت فریم ورک را ست کرد. در هر حال بعد از نصب موارد یاد شده هنگامی که یک صفحه ای اس پی دات نت را اجرا می کنید پیغام می دهد server application unavailable!!! . همان برنامه ای که تا چند لحظه پیش داشت کار می کرد را می گویم!! مشکل به احتمال زیاد از سکیوریتی ویندوز است که در این مورد فریم ورک باید دوباره ست شود........ ؟؟؟؟؟

Inprise
دوشنبه 15 اردیبهشت 1382, 16:07 عصر
من فریم ورک را بعد از نصب سرویسها نصب کردم لذا مشکلی نداشتم اما در مورد شما ... تو ذهنم هست که در مقاله ای به چیزی مشابه این مطلب اشاره شده بود . دقیقا یادم نیست اما فی المجموع چیزی بود تو مایه های مشکل پیدا کردن بخشی از مجموعه دات نت پس از نصب فلان برنامه که گویا در پاسخ نصب مجدد کل دات نت رو توصیه کرده بودند ، البته به دقت و صحت تو خاطرم نیست .

Inprise
دوشنبه 15 اردیبهشت 1382, 16:08 عصر
من فریم ورک را بعد از نصب سرویسها نصب کردم لذا مشکلی نداشتم اما در مورد شما ... تو ذهنم هست که در مقاله ای به چیزی مشابه این مطلب اشاره شده بود . دقیقا یادم نیست اما فی المجموع چیزی بود تو مایه های مشکل پیدا کردن بخشی از مجموعه دات نت پس از نصب فلان برنامه که گویا در پاسخ نصب مجدد کل دات نت رو توصیه کرده بودند ، البته به دقت و صحت تو خاطرم نیست .

Vahid_Nasiri
دوشنبه 15 اردیبهشت 1382, 19:32 عصر
ممنون از شما!
بله ! من یکبار این مشکل بعد از نصب IIS برایم پیش آمد و شما درست می فرمایید. این مطلب مشکلش بزرگتر از این حرفها است . برای نمونه می توانید به مقالات زیر در سایت مایکروسافت مراجعه کنید :
http://support.microsoft.com/default.aspx?scid=kb;EN-US;315158
http://support.microsoft.com/default.aspx?scid=kb;en-us;811320