Remote Desktop kullanirken explorer.exe beklenmedik bir sekilde kapanirsa ekraniniz microsoft un güzel mavisi ile kaplanir. Bu durumda Task Manager calistirip Run kismindan explorer.exe tekrar balslatmak gerekir. Task Manager i baslatmak icin Remote Desktop da ctrl + alt + del ne yazikki ise yaramiyor. Bunun icin gerekli olan kombinasyon:
Ctrl + Alt + End
Kücük bir ipucu :)
17 Ağustos 2007 Cuma
14 Ağustos 2007 Salı
Oracle DB de tekrarlanan kayitlari silme
Asagidaki örnekde TestTable da min rowid ye sahip olan kayit saklanacak geri kalan tekrarlanan kayitlar silinecek.
Delete from TestTable t1
where t1.rowid >
(Select min(t2.rowID) from TestTable t2
where t1.col1 = t2.col1
and t1.col2 = t2.col2)
Benzer bir cözüm sql server icin söyle olabilir:
Oracle daki "rowid" yerine tablomuzun birincil anahtarini (PK) kullanabiliriz.
PK: sysID
Delete from TestTable where sysID IN (
Select sysID from TestTable t1
where t1.sysID > (Select min(t2.sysID) from TestTable t2
where t1.col1 = t2.col1
and t1.col2 = t2.col2))
Delete from TestTable t1
where t1.rowid >
(Select min(t2.rowID) from TestTable t2
where t1.col1 = t2.col1
and t1.col2 = t2.col2)
Benzer bir cözüm sql server icin söyle olabilir:
Oracle daki "rowid" yerine tablomuzun birincil anahtarini (PK) kullanabiliriz.
PK: sysID
Delete from TestTable where sysID IN (
Select sysID from TestTable t1
where t1.sysID > (Select min(t2.sysID) from TestTable t2
where t1.col1 = t2.col1
and t1.col2 = t2.col2))
11 Ağustos 2007 Cumartesi
SharePoint Tips & Tricks
Microsoft Share Point Server ve Windows SharePoint Services ile ilgili önemli ipucu ve cözümlerin bulunabilecegi kapsamli bir blog. Sharepoint ile ugrasanlarin isine cok yarayacagini düsünüyorum. Bir göz atmak da fayda var.
http://www.sharepoint-tips.com/2007/01/how-to-add-print-list-option-to-list.html
http://www.sharepoint-tips.com/2007/01/how-to-add-print-list-option-to-list.html
10 Ağustos 2007 Cuma
Debugging Oracle PL/SQL from Visual Studio
PL/SQL kodlarini VS.NET icerisinde debug etmek ile ilgili güzel bir makale.
http://www.oracle.com/technology/obe/net11gobe/debugging/debugging.htm?msgid=5794223
9 Ağustos 2007 Perşembe
Commandline dan PC yi tekrar baslatmak
MSDN den konu ile ilgili bir örnek:
----------------------------------------
To shut down \\MyServer in 60 seconds, force running applications to close, restart the computer after shutdown, indicate a user code, indicate that the shutdown is planned, log major reason code 125, and log minor reason code 1, type:
shutdown -r -f -m \\MyServer -t 60 -d up:125:1
----------------------------------------
----------------------------------------
To shut down \\MyServer in 60 seconds, force running applications to close, restart the computer after shutdown, indicate a user code, indicate that the shutdown is planned, log major reason code 125, and log minor reason code 1, type:
shutdown -r -f -m \\MyServer -t 60 -d up:125:1
----------------------------------------
8 Ağustos 2007 Çarşamba
Web.Config dosyasindaki Mail ayarlarini okumak.
Web.Config dosyasindaki <mailSettings> tagi altinda bulunan mail ayarlarini c# ile kod icerisinden okumak icin asagidaki örnegi kullanabilirsiniz.
using System.Configuration;
using System.Web.Configuration;
using System.Net.Configuration;
String path = Request.CurrentExecutionFilePath;
path = path.Substring(0, path.LastIndexOf('/'));
Configuration configurationFile = WebConfigurationManager.OpenWebConfiguration(path);
MailSettingsSectionGroup mailSettings = configurationFile.GetSectionGroup("system.net/mailSettings") as MailSettingsSectionGroup;
if (mailSettings != null)
{
iPort = mailSettings.Smtp.Network.Port;
strHost = mailSettings.Smtp.Network.Host;
strPassword = mailSettings.Smtp.Network.Password;
strUserName = mailSettings.Smtp.Network.UserName;
}
using System.Configuration;
using System.Web.Configuration;
using System.Net.Configuration;
String path = Request.CurrentExecutionFilePath;
path = path.Substring(0, path.LastIndexOf('/'));
Configuration configurationFile = WebConfigurationManager.OpenWebConfiguration(path);
MailSettingsSectionGroup mailSettings = configurationFile.GetSectionGroup("system.net/mailSettings") as MailSettingsSectionGroup;
if (mailSettings != null)
{
iPort = mailSettings.Smtp.Network.Port;
strHost = mailSettings.Smtp.Network.Host;
strPassword = mailSettings.Smtp.Network.Password;
strUserName = mailSettings.Smtp.Network.UserName;
}
Burak Selim Senyurt'un LINQ ile ilgili cok güzel bir makalesi. Yine cok özen göstererek yazmis.
http://www.csharpnedir.com/makalegoster.asp?MId=729
http://www.csharpnedir.com/makalegoster.asp?MId=729
7 Ağustos 2007 Salı
Veri modellerinde Entity sınıf ve Typed DataSet karsilastirilmasi
Emre Coskun'un konu ile ilgili yazdigi güzel bir makale:
http://emrecoskun.blogspot.com/2007/03/neden-typed-dataset-kullanlmaldr.html
http://emrecoskun.blogspot.com/2007/03/neden-typed-dataset-kullanlmaldr.html
6 Ağustos 2007 Pazartesi
Bir resultsetden split edilmis string olusturmak
Sql Server üzerinde yaratacagimiz bu UDF, özellikle Reporting konusunda kullanilabilecek bir function örnegidir.
Örnegimizde Northwind veritabani kullaniyoruz.
Bunun icin öncelikle veritabaninda "GetProductIDs" isimli bir UDF olusturuyoruz. Fonksiyonumuz parametere olarak OrderID alacak ve OrderDetails tablosunda bu OrderID ye ait olan kayitlardaki ProductID leri bize virgül ile ayrilmis sekilde varchar olarak döndürecek.
CREATE FUNCTION [dbo].[GetProductIDs]
(
@OrderID int
)
RETURNS nvarchar(MAX)
AS
BEGIN
DECLARE @productIDList nvarchar(MAX)
SELECT @productIDList = COALESCE(@productIDList + ', ', '') +
CAST(ProductID AS varchar(20))
from dbo.[Order Details] Where OrderID = @OrderID
return @productIDList
END;
Fonksiyonumuz database üzerinde yaratildiktan sonra, su sekilde fonksiyonumuzu test edebiliriz.
Select dbo.GetProductIDs(OrderID) as ProductIDs from dbo.Orders
Örnegimizde Northwind veritabani kullaniyoruz.
Bunun icin öncelikle veritabaninda "GetProductIDs" isimli bir UDF olusturuyoruz. Fonksiyonumuz parametere olarak OrderID alacak ve OrderDetails tablosunda bu OrderID ye ait olan kayitlardaki ProductID leri bize virgül ile ayrilmis sekilde varchar olarak döndürecek.
CREATE FUNCTION [dbo].[GetProductIDs]
(
@OrderID int
)
RETURNS nvarchar(MAX)
AS
BEGIN
DECLARE @productIDList nvarchar(MAX)
SELECT @productIDList = COALESCE(@productIDList + ', ', '') +
CAST(ProductID AS varchar(20))
from dbo.[Order Details] Where OrderID = @OrderID
return @productIDList
END;
Fonksiyonumuz database üzerinde yaratildiktan sonra, su sekilde fonksiyonumuzu test edebiliriz.
Select dbo.GetProductIDs(OrderID) as ProductIDs from dbo.Orders
FreeTextBox icin sayfada Validation kaldirmak.
Asp.Net sayfalarinda FreeTextBox daki bir degeri veritabanina kaydederken bir güvenlik hatasi olusabilir:
"A potentially dangerous Request.Form value was detected from the client"
Bunu Page tag'ine
ValidateRequest="false"
ekleyerek önleyebiliriz.
"A potentially dangerous Request.Form value was detected from the client"
Bunu Page tag'ine
ValidateRequest="false"
ekleyerek önleyebiliriz.
Kaydol:
Kayıtlar (Atom)