enable =false (disable olmuş) olan bir textbox kontrolünün rengini nasıl değiştiririz ?
Public Class VisualTextbox
Inherits TextBox
Public Sub New()
' Initialise the class
MyBase.New()
End Sub
Public Shadows Property Enabled() As Boolean
Get
Return MyBase.Enabled
End Get
Set(ByVal Value As Boolean)
' Switch draw styles if disabled
Me.SetStyle(ControlStyles.UserPaint, Not Value)
' Set the underlying value
MyBase.Enabled = Value
End Set
End Property
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
MyBase.OnPaint(e)
' Draw the bg in
e.Graphics.FillRectangle(New SolidBrush(Color.LightGray), Me.ClientRectangle)
' Draw the appropriate text in using the fore color
e.Graphics.DrawString(Me.Text, Me.Font, New SolidBrush(Me.ForeColor), -1, 1)
End Sub
End Class
29 Ocak 2010 Cuma
28 Aralık 2009 Pazartesi
asp.net Chart component
framework 4.0 ile birlikte gelecek olan asp.net chart kontrolü ,3.5 ile entegre edilebiliyor.
Bunun için;
Microsoft Chart Controls indirin
VS2008 için char kontrolü desteğini indirin.
Microsoft Chart Controls örneğini inceleyin
Bunun için;
Microsoft Chart Controls indirin
VS2008 için char kontrolü desteğini indirin.
Microsoft Chart Controls örneğini inceleyin
15 Aralık 2009 Salı
Windows Server 2003 üzerine MySQL Kurulumu
Windows Server 2003 üzerine Mysql kurulumunu anlatan güzel bir video.
How to Install MySQL on Windows 2003 with IIS6 from VideoTutorialZone on Vimeo.
How to Install MySQL on Windows 2003 with IIS6 from VideoTutorialZone on Vimeo.
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.
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())
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)
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.
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.
Kaydol:
Kayıtlar (Atom)