11 Aralık 2009 Cuma

Jquery Visual Studio 2008 Intellisense

Visual Studio 2008 de Jquery için Intellisense kazandırmak mümkün.

1.Adım : Visual Studio 2008 Service pack 1 kur
2.Adım :Intellisense Destek Dosyasını Kur (VS 2008 Patch KB958502 ) Ayrıntılı bilgi
3.Adım :jQuery-vsdoc.js file Dosyasını indir



jquery-vsdoc.js ve  jquery.js dosyalarını pronize ekeyin.




8 Aralık 2009 Salı

T-SQL Haftanın gününü veren fonksiyon

MS SQL üzerinde haftanın gününü veren fonksiyona ihtiyaç duyanlar için ;

CREATE FUNCTION [dbo].[udf_DayOfWeek](@dtDate DATETIME)
RETURNS VARCHAR(10)

AS
BEGIN
DECLARE @rtDayofWeek VARCHAR(10)
SELECT @rtDayofWeek = CASE DATEPART(weekday,@dtDate)
WHEN 1 THEN 'Sunday'
WHEN 2 THEN 'Monday'
WHEN 3 THEN 'Tuesday'
WHEN 4 THEN 'Wednesday'
WHEN 5 THEN 'Thursday'
WHEN 6 THEN 'Friday'
WHEN 7 THEN 'Saturday'
END
RETURN (@rtDayofWeek)
END

fonksiyonun kullanımı ise şöyle ;
SET @dayname =dbo.udf_DayOfWeek(GETDATE())

datatime tarih ve saat yerdeğiştirmesi

Yakın bir zamanda çok farklı bir seneryoyla karşılaştım ve çözümümü paylaşmak istedim seneryo şöyle ; Microsoft SQL Server üzerindeki bir tabloda
VallTime , VallDate isimli  iki sutun vardı ve değerleri  2009-11-09 12:23:00.000  ve
2009-10-09 10:12:10.000  olan verilerin birinin tarih bilgisiyle diğerinin saat bilgisini alarak datetime biçiminde birleştirmekti. özetle ;
2009-11-09 12:23:00.000     +   2009-10-09 10:12:10.000   = 2009-10-09 12:23:00.000

birleştirmek için gerekli olan T-SQL

CREATE FUNCTION [dbo].[COMBINE_DTM]
(
@inDATE_DTM AS datetime,
@inTIME_DTM AS datetime
)
RETURNS datetime
AS
BEGIN
RETURN
CAST((ROUND(CAST(@inDATE_DTM AS float), 0, 1)) AS float) +
(CAST(@inTIME_DTM AS float) - (ROUND(CAST(@inTIME_DTM AS float), 0, 1)) + .00000001)
END
 
Bu Scaler-Valued fonksiyonun kullanımı ise şöyle ;
 
declare @calltime datetime , @calldate datetime , @Combinedatetime datetime
select @calldate = CallDate,@calltime = CallTime from tbJobs where JobID = @JobID and deleted = 0;

set @Combinedatetime= dbo.COMBINE_DTM(@calldate,@calltime)

7 Aralık 2009 Pazartesi

MSSQL Cursor Kullanımı

Cursor çekitiğimiz sorgu içerisinde satır satır dönerek işlemlerimizi yapmamızı sağlayan bir yapıdır.
Altaki örnek de kullanıcıların mail adresleri ile ilgili tabloya tek tek mail gönderilmesi sağlanmakta.
önce işlem yapacağımız veritabanını oluşturalım.
GO
CREATE TABLE EmailList
 (
id smallint identity(1,1),
email varchar(500),
name nvarchar(500),
emailsent bit default 0,
sentdate datetime
)

sonra veri girişi yapalım
INSERT INTO EmailList (email, name) VALUES ('emailaddress1@test.com', N'Darth Vader')
INSERT INTO EmailList (email, name) VALUES ('emailaddress2@test.com', N'Bill Gates')
INSERT INTO EmailList (email, name) VALUES ('emailaddress3@test.com', N'Katy Perry')

daha sonra procedure yazalım .
CREATE PROC SendEmailCursor


AS


-- eMail Variables --
DECLARE @email_subject nvarchar(1000)
DECLARE @email_body nvarchar(max)


SET @email_body = N'Welcome to our Community'
SET @email_body = N'Dear {0},
We''re glad to see you.'
-- eMail Variables (END) --


-- Cursor Variables --
DECLARE @Id smallint;
DECLARE @email varchar(500);
DECLARE @name nvarchar(500);
-- Cursor Variables (END) --


DECLARE @pbody nvarchar(max)


------------------ CURSOR eMail --------------------
DECLARE eMailCursor CURSOR FAST_FORWARD FOR
SELECT
id, email, name
FROM EmailList
WHERE emailsent = 0


OPEN eMailCursor


FETCH NEXT FROM eMailCursor INTO @Id, @email, @name


WHILE @@FETCH_STATUS = 0
BEGIN
---
SET @pbody = REPLACE(@email_body, '{0}', @name)


EXEC msdb.dbo.sp_send_dbmail
@profile_name = N'TBS',
@recipients = @email,
@subject = @email_subject,
@body = @pbody,
@body_format = 'HTML'


UPDATE EmailList SET emailsent = 1, sentdate = GetDate() WHERE id = @Id
---
FETCH NEXT FROM eMailCursor INTO @Id, @email, @name
END


CLOSE eMailCursor
DEALLOCATE eMailCursor
------------------ CURSOR eMail (END) --------------------


GO


ve çalıştıralım

EXEC SendEmailCursor


Cursor ile ilgili bilgi;
FETCH FIRST komutu ile ilk satıra dönüp FETCH LAST komutu ile de son satıra gidebiliriz. SQL SERVER en son işletilen FETCH komutunun durumunu @@FETCH_STATUS degişkeninde tutar. FETCH komutu başarılı ise 0, başarısız ise -1, FETCH edilen satır bulanmıyorsa da -2 döner.

5 Aralık 2009 Cumartesi

Windows Grup Polikalarını değiştirmek

windows grup politikalarını değiştirmek için gerekli komut gpedit.msc

Flash diskler için otomatik çalışmayı kapatmak Stop Autorun

Bildiğimiz gibi bir çok virus flash disk gibi harici disklerin kapatılmasıyla bilgisayarımıza sızıyor.flash disk takıldığı anda virus aktifleşiyor.Otomatik başlatı kapatmamız gerekli HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer altındaki NoDriveTypeAutoRun değerini 0xFF çekilmesiyle yapabiliriz.
ayrıca diğer ayarlar için alttaki tablo incelenebilir.

0x1
Disables Autoplay on drives of unknown type.

0x4
Disables Autoplay on removable drives.

0x8
Disables Autoplay on fixed drives.

0x10
Disables Autoplay on network drives.

0x20
Disables Autoplay on CD-ROM drives.

0x40
Disables Autoplay on RAM drives.

0x80
Disables Autoplay on drives of unknown type.

0xFF
Disables Autoplay on all types of drives.