الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طريقة ربط كرستال ريبورت بالقاعدة البيانات عن طريق Dataset

بدأه Al-Mohana في 9 أكتوبر 2009 · 2 رد · 2,746 مشاهدة · في تصميم وبرمجة التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

بناءا على طلب حد الأخوة هذا شرح بسيط كتبتة على عُجالة ( أرجوا أن يكون وأضح لست بارعا في شرح :D )

طريقة ربط كرستال ريبورت بالقاعدة البيانات عن طريق dataset

سأبدأ ب web.config

وكتابة

<connectionStrings>
		<add name="ConnectionString" connectionString="Data Source=.;Initial Catalog=databsename;Integrated Security=True;MultipleActiveResultSets=False;Packet Size=4096;Application Name="Microsoft SQL Server Management Studio Express"" providerName="System.Data.SqlClient"/>
			</connectionStrings>

بعد ذلك نقوم بأنشأ صفحة ونُظيف عليها مستعرض التقارير ويصبح الكود هكذا

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="report.aspx.vb" Inherits="report" %>

<%@ Register assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" namespace="CrystalDecisions.Web" tagprefix="CR" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
    <link href="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer3/css/default.css"
        rel="stylesheet" type="text/css" />
</head>
<body>
    <form id="form1" runat="server">
    <CR:CrystalReportSource ID="CrystalReportSource1" runat="server">
    </CR:CrystalReportSource>
    <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" 
        AutoDataBind="true" ReportSourceID="CrystalReportSource1" />
    </form>
</body>
</html>

سنقوم الأن بأنشأ dataset

وبعد ذلك نختار الكونكشن الذي كتبناه في web.config

وبعد ضغط على next

يوجد ثلاث خيارات

الأولى لكتابة الكويري في الداتاست وفي هذه الحاله يكون ثابت يتم تغيره من الداتا ست

الثانية والثلاثة من الستور برسجر تختلف الثالثة ب الستور برسجر مكتوب من قبل

طبعا نختار الثالثة

والشاشة التالية

وهنا نختار الستور برسجر الموجود سابقا

بعد أن قمنا بأنشاء dataset

حان وقت التقرير نقوم بأظافته

بعدذلك تظهر هذه الشاشة

[

أما الخطوة التالية نختار الداتا ست

والخطوة الأخيرة

يظهر الجدول على اليسار الذي علية الدائرة ومنه أختار الحقول

والأن

سنقوم بكتابة الكود في الصفحة

Imports System.Data
Imports System.Data.SqlClient
Imports System.Globalization
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.CrystalReports
Partial Class report
	Inherits System.Web.UI.Page
	Public Conn As New SqlConnection
	Public settings As ConnectionStringSettings
	Public custcomand As New SqlCommand
	Dim rpt As ReportDocument
	Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
		Conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings("ConnectionString").ToString()
		If Conn.State = ConnectionState.Closed Then
			Conn.Open()
		End If
		rpt = New ReportDocument
		Dim ReportPath As String = Server.MapPath("report.rpt")
		rpt.Load(ReportPath)
		Dim MyCommand As SqlCommand = New SqlCommand
		Dim myDA As New SqlDataAdapter
		Dim myDS As New DataSet
		MyCommand.Connection = Conn
		''Parameters
		Dim id As Integer = CInt(Request.QueryString("id").ToString)
		MyCommand.CommandType = CommandType.StoredProcedure
		MyCommand.CommandText = "Get" ''StoredProcedure name
		MyCommand.Connection = Conn
		MyCommand.CommandTimeout = 0
		MyCommand.Parameters.Clear()
		MyCommand.Parameters.AddWithValue("@id", ID)
		myDA.SelectCommand = MyCommand
		myDA.Fill(myDS, "datasetreport") ''datasetname
		rpt.SetDataSource(myDS)
		CrystalReportViewer1.ReportSource = rpt
		If Conn.State = ConnectionState.Open Then
			Conn.Close()
		End If

	End Sub
	Sub Page_Unload(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Unload
		Try
			rpt.Close()
			rpt.Dispose()
		Catch ex As Exception
		End Try
	End Sub
End Class

ملاحظة

هذه طريقة الربط فقط عن طريق dataset

أرجوا أن أكون قد وفقت في طرحي

أن أخطأت فمن نفسي وشيطان

وأن وفُقت فمن الله وحده

post-37008-1255072226_thumb.jpg

post-37008-1255072373_thumb.jpg

post-37008-1255072514_thumb.jpg

post-37008-1255072583_thumb.jpg

post-37008-1255072636_thumb.jpg

post-37008-1255072694_thumb.jpg

post-37008-1255072742_thumb.jpg

تم تعديل هذه المشاركة بواسطة Al-Mohana في 9 أكتوبر 2009 في 10:19

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#2

لم تضبط معي الصور طلعت في الأخير

لكن هي مرتبة حسب الخطوات

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#3

يعطيك العافيه اخوي ماقصرت

ولكن ياليت لو مثال مرفق

محتاجه ضروري

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…