السادة أعضاء ومشرفي المنتدى الكرام
السلام عليكم ورحمة الله وبركاته
أقوم الآن ببرمجة برنامج مبيعات ومشتريات ومخازن من خلال فيجوال بيسك دوت نت وهو مرتكز على قواعد بيانات SQL Server2000ووصلت لتصميم التقارير ومن ثم عرضها ولكن واجهتني مشكلة وهي كالأتي :
الكود التالي يقوم بعرض البيانات في التقرير ولكن لكامل محتويات الجداول الموجودة في قاعدة البيانات .
وانا أريد عرض السجل الموجود في المتغير CategoryCode في جملة SELECTفقط وليس كامل محتويات الجداول
في قسم التصريات العامة كتبت الكود التالي
Option Explicit On Imports System.Data Imports System.Data.SqlClient Imports System.Data.OleDb Imports Microsoft.VisualBasic Imports System.IO Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.Shared
وفي حدث التحميل كتبت الكود التالي ، مع ملاحظة أن نص الاتصال بقواعد البيانات موجود في مديول خاص
Try
If GSQLConnection.State = ConnectionState.Open Then
GSQLCmd.CommandText = "SELECT* FROM Categories,CategoryPricesNormal,CategoryPricesSeasonal WHERE Categories.CategoryCode=" & CategoryCode & "AND CategoryPricesNormal.CategoryCode=" & CategoryCode & "AND CategoryPricesSeasonal.CategoryCode=" & CategoryCode
GSQLCmd.CommandType = CommandType.Text
Dim strReportName As String
GDS.Clear()
GDA = New SqlClient.SqlDataAdapter(GSQLCmd.CommandText, GSQLConnection)
GDA.Fill(GDS, "Categories,CategoryPricesNormal,CategoryPricesSeasonal")
strReportName = "Category"
Dim strReportPath As String = Application.StartupPath & "\Reports\" & strReportName & ".rpt"
If Not IO.File.Exists(strReportPath) Then
Throw (New Exception("Unable to locate report file:" & vbCrLf & strReportPath))
End If
Dim rptDocument As New CrystalDecisions.CrystalReports.Engine.ReportDocument
rptDocument.Load(strReportPath)
rptDocument.SetDataSource(GDS.Tables(0, 2))
rptViewer.ShowGroupTreeButton = False
rptViewer.ReportSource = rptDocument
rptViewer.Zoom(85%)
End If
Catch Ex As Exception
MsgBox(Ex.Message)
End Tryففكرت بأن استبدل الـ DataSet بالـ DataReader ولكن للأسف لم افلح في ذلك
فما هو الحل جزاكم الله خيراً