-
اولا اعداد مصدر البيانات الـ Dataset
في هذا المثال سوف
نستخدم Dataset كمصدر محلي للبيانات , يمكن ان نعيد البيانات
الي Dataset من اي قاعده بيانات كـ
SQL SERVER او Oracle او ....
وفي الفقرة القادمه
ساسرد طريقة ارجاع البيانات للـ Dataset باستخدام SQL Server Table Valued Functions
1 -
من Project Solution ومن Add New Item نقوم باختيار Dataset من النافذة التي ستظهر .
بعد اضافه Dataset وباستخدام الـ Dataset Designer نقوم بضغط الزر الايمن للماوس واختيار
Add >> Data Table او
يمكن افلاتها من ToolBoxكما بالشكل :
2- بعد اضافه الـ Data Table يمكننا اضافه الـ Columns وتسميتها كما نريد بالضغط علي الـ Data Table
Add >> Column , قمت باضافة الـ Columns وحددت نوع البيانات كالاتي:
الان وبعد ان تم
انشاء مصدر البيانات المحلي سيمكننا ان نربطه بالتقرير وسوف اقوم بشرح اعداد
التقرير بالتفصيل في الجزء الثاني .
- ثانيا اعداد مصدر البيانات من SQlServer
1-
بعد انشاء قاعدة البيانات سنقوم بانشاء الــ Table التي سنستخدمها تحتوي علي Culomns الاتية
وهذا اسكريبت
انشائها
-----------------------------------------------------------------------------------------------------------
/****** Object: Table [dbo].[BirthDay] Script Date: 02/23/2013 21:00:25 ******/
SET ANSI_NULLS
ON
GO
SET QUOTED_IDENTIFIER
ON
GO
CREATE TABLE
[dbo].[BirthDay](
[Id]
[int] IDENTITY(1,1) NOT NULL,
[FirstName]
[nvarchar](50) NOT NULL,
[LastName]
[nvarchar](50) NOT NULL,
[birthdayDate]
[date] NOT NULL,
CONSTRAINT [PK_BirthDay] PRIMARY
KEY CLUSTERED
(
[Id]
ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS
= ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON
[PRIMARY]
GO
-----------------------------------------------------------------------------------------------------------
2 -
الان سنقوم بانشاء
Table Function التي ستقوم بارجاع البيانات من الجدول خلال فتره
معينة باستخدام 2 براميتر هما
يعبران عن بداية
ونهاية الفترة كما في هذا السكريبت
-----------------------------------------------------------------------------------------------------------
/******
Object: UserDefinedFunction
[dbo].[FUBirthDayReport] Script Date:
02/23/2013 21:06:07 ******/
SET ANSI_NULLS
ON
GO
SET QUOTED_IDENTIFIER
ON
GO
Create FUNCTION
[dbo].[FUBirthDayReport](@DateFrom Datetime , @DateTo Datetime)
RETURNS
@BirthDayOrder Table
(
Se int identity(1,1) ,
FullName nvarchar(110) ,
BirthDay Date ,
DateFrom datetime
,
DateTo datetime
)
AS
Begin
declare @Crs Cursor ,
@FullName
nvarchar(50) ,
@BirthDay
Date;
Set @Crs = Cursor For Select FirstName + ' ' + LastName As
FullName , birthdaydate
From BirthDay
Where birthdaydate Between
@DateFrom And @DateTo
Order by birthdaydate
, FullName
Open @Crs ;
Fetch next
From @Crs
Into @FullName ,
@BirthDay ;
While(@@FETCH_STATUS = 0)
BEGIN
Insert into
@BirthDayOrder
(FullName ,
BirthDay , DateFrom ,
DateTo)
values
(@FullName ,
@BirthDay , @DateFrom ,
@DateTo)
Fetch next
From @Crs
Into @FullName ,
@BirthDay ;
End
Close @Crs
Deallocate @Crs
Return ;
End
GO
------
- الان اصبحت مصادر البيانات جاهزة الجزء الثاني من هذا المقال سيتناول
طريقة تصميم التقارير