|
|
|
تازه اول راهه
        
گروه: کاربران
آخرین بازدید: جمعه 4 خرداد 1386 - 2:34 صبح
پست ها: 9,
بازدید ها: 9
|
|
من یه code نوشتم که یه Type به SQL server اضافه میکنه که میتونید تاریخ شمسی وارد کنید به جای میلادی در واقع یک User Defiend Type هستش گفتم شاید به درد کسی بخوره
PFN Code
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
using System.Globalization;
[ Serializable]
[Microsoft.SqlServer.Server.SqlUserDefinedType(Format.Native)]
public struct JalaliDate : INullable
{
public override string ToString()
{
if (m_Null)
{
return "";
}
else
{
return string.Format("{0}-{1}-{2}", year, month, day);
}
}
public bool IsNull
{
get
{
// Put your code here
return m_Null;
}
}
public static JalaliDate Null
{
get
{
JalaliDate h = new JalaliDate();
h.m_Null = true;
return h;
}
}
public static JalaliDate Parse(SqlString s)
{
if (string.IsNullOrEmpty(s.Value))
return JalaliDate.Null;
JalaliDate u = new JalaliDate();
string[] values = s.Value.Split(new char[] { '-' });
u.year = int.Parse(values[0]);
u.month = int.Parse(values[1]);
u.day = int.Parse(values[2]);
// Put your code here
return u;
}
public DateTime GregorianValue
{
get
{
PersianCalendar pc = new PersianCalendar();
DateTime dt = new DateTime(year, month, day, pc);
return dt;
}
}
public static JalaliDate JalaliValue(DateTime gregorianValue)
{
PersianCalendar pc = new PersianCalendar();
int y, m, d;
y = pc.GetYear(gregorianValue);
m = pc.GetMonth(gregorianValue);
d = pc.GetDayOfMonth(gregorianValue);
JalaliDate ans = new JalaliDate();
ans.year = y;
ans.month = m;
ans.day = d;
return ans;
}
public JalaliDate AddDays(int days)
{
return JalaliValue(GregorianValue.AddDays(day));
}
private int year;
private int month;
private int day;
// Private member
private bool m_Null;
}
امیدوارم به دردتون بخوره
برای Deploy کردن این برنامه اول یه Sql server project البته به زبان C sharpاز تو Virtual studio
New کنید بعد روی پروژه کلیک راست کنید Add,بعد User Defiend Type رو انتخاب کنید
بعد کدها رو پاک کنید و این کدها رو اونجا Copy کنید بعد F5 بزنید تا برنامه روی Data base مورد نظر که انتخاب کردید Deploy بشه ّبعد می تونید تو جدول ها از jalaliDate بجای DateTimeاستفاده کنید امیدوارم به درد بخوره
|
|
|
|
|
تازه اول راهه
        
گروه: کاربران
آخرین بازدید: سه شنبه 16 مرداد 1386 - 2:24 بعدازظهر
پست ها: 1,
بازدید ها: 1
|
|
|
|
|