30 Eylül 2009 Çarşamba

Projeyi Visual Source Safe 2005 Eklemek

Bir çok makalede source yapılandırmayı bulabilirsiniz.Zaten oldukcada kolay fakat bu source safe nasıl kodlar atılıyor yani projeyi source nasıl atarız diye kara kara düşünürken.İşte buldum :) ....


Solution proje ekle demeniz yeterli soursafe size konum soracak.

Böylece artık proje sourcesafe li

29 Eylül 2009 Salı

Sql Server DB Diagram Error

HATA MESAJI: "Database diagram support objects cannot be installed because this database does not have a valid owner. To continue, first use the Files page of the Database Properties dialog box or the ALTER AUTHORIZATION statement to set the database owner to a valid login, then add the database diagram support objects."

Management studio açarak aşağıdaki komutu kendinize göre düzenleyip. çalıştırmanız yeterli böylece database diagramlarını kolaylıkla görebilirsiniz.


EXEC sp_dbcmptlevel 'Veritabanı_adı', '90';
go
ALTER AUTHORIZATION ON DATABASE::Veritabanı_adı TO "LoginKullanıcıAdı"
go
use [Veritabanı_adı]
go
EXECUTE AS USER = N'dbo' REVERT
go

28 Eylül 2009 Pazartesi

MS SQL Server 2008 setup

MS SQL Server 2008 Express web platform üzerinden kuruluyor öncelikle yaklaşık 90 KB bir dosyadan indirdikten sonra yüksek performanslı olarak kuruyor.Ama nereye indirdiğini ne yaptığı tabiki size söylemiyor.
Web platform olmadan Fiziksel olarak exe dosyasını indirmek içinde bir adress koymuşlar.
http://blogs.msdn.com/sqlexpress/archive/2009/06/15/installing-sql-server-2008-guidance.aspx

buradan MS Sql Server 2008 Express veriyonun exe halini indirilebilir.

24 Eylül 2009 Perşembe

String or binary data would be truncated

Update sorgusu çalıştırırken aldığım hatanın kaynağı kolayca anlaşılamıyor;
hata metninde şöyle diyor du.
String or binary data would be truncated.
The statement has been terminated.

Hatanın kaynağının en son yaptığım değişikliğe bağlı olduğunu anladım.
veri girmeye çalıştığım alan varchar(20) olarak tanımlı girmeye çalışıtığım veri çok daha uzun
veri alanını büyüterek varchar(max) yaparak ve tanımladığım sorgularımda (ya da stored procedure) tanımlı parametleride değiştirere sorun çözüldü.

Özet:String or binary data would be truncated.The statement has been terminated.
hatasını almayacağımı düşünüyorum.

kısa bir alana büyük veri giri ile ilgili hatanın giderimi çok kolay , alanı büyütmek yada gelen veriyi küçültmek

23 Eylül 2009 Çarşamba

DataGridViewCheckBoxColumn Checked Olanları Almak

Visual Studio Gridleri evrim geçire geçire bir çok muhteşem özellikle bezendi bunlardan biride sutunlardan birini checkbox lu hale getirebilme özelliği.Bu işlemi yapmak Visual Studio araçlarıyla çocuk oyuncağı fakat kullanıcının hangi rowları check ettiği anlamak çok da basit değil , bunun için öncelikle tanımladığınız DataGridViewCheckBoxColumn için Falsevalue özelliğini false , TrueValue özelliğinide true olarak atamanız yeterli.
Şimdi de C# la nasıl alınabileceğine bakalım.


ArrayList arySelectedReuestSP = new ArrayList();
foreach (DataGridViewRow dataGridRow in datagridSP.Rows)
{
if ((bool)dataGridRow.Cells["C1"].FormattedValue)
{
arySelectedReuestSP.Add(dataGridRow.Cells["C0"].Value.ToString());
}
}

18 Eylül 2009 Cuma

MS Sql Server 2005 Express Edition ve Agent

Ms Sql Server 2005 Express Edition versiyonu ücretsiz fakat ne yazık ki Mssql server agent kurulamıyor.Bir çok denemeler ve araştırmalar sonucunda Ms sql server 2008 express kurulumunda






SQL server Agent Kuruluyor Ama başlatılamıyor.Sorun bende mi neden böyle diye düşünürken microsoft connect de ki bir yazı gördüm :) .
Bu bir microsoft un pazarlama stratejisi imiş
https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=351806&wa=wsignin1.0
eğer Agent Kullanılmak isteniyorsa ücretli bir versiyon almak gerekliymiş .

C# String işlemleri


String içindeki alt stringleri elde etmek
SubString() –
Bir string ifadenin içinde,4.karakterden başlayıp 10 karakter elde etmek istiyor isek bu durumda kullanacağımız metod SubString() metodudur.

Aşağıdaki kod parçalarını inceleyelim;

string text = "Visual Studio 2005";

Console.WriteLine(text.Substring(7,4)); // Ekran Çıktısı : "Stud"

Console.WriteLine(text.Substring(7)); // Ekran Çıktısı : "Studio 2005"




ToLower() – ToUpper() – ToLowerInvariant() - ToUpperInvariant()

Bir string ifadedeki bütün karakterleri küçük veya bütün karakterleri büyük yapmak istiyor iseniz bu fonksiyonlar işinizi görecektir.

Aşağıdaki kod parçasına ve ekran çıktısına bakalım;

string text = "Visual Studio 2005";

Console.WriteLine(text.ToLower()); // visual studio 2005

Console.WriteLine(text.ToLowerInvariant()); // visual studio 2005



Console.WriteLine(text.ToUpper()); // VİSUAL STUDİO 2005

Console.WriteLine(text.ToUpperInvariant()); // VISUAL STUDIO 2005




ToLower() ve ToUpper() metodları karakterleri olduğu gibi büyük veya küçük harfe çevirirken, ToLowerInvariant() ve ToUpperInvariant() metodları ise ilgili dile göre değişim göstermektedir. Uygulamayı gerçekleştirdiğim işletim sistemi ingilizce olduğundan dolayı küçük ‘i’ karakterleri büyük harfe çevrildiğinde ‘I’ haline dönüştürülüyor.”Invariant” kullanılmayan metodlarda ise ‘i’ harfleri olduğu gibi ‘İ’ harfine dönüştürülüyor.

Boşlukları kaldıran fonksiyonlar

Trim() – TrimEnd() – TrimStart() –

Trim metodları, string içindeki boşluklarla bir derdiniz var ise çok işinize yarayacaktır.

Aşağıdaki kod örneğini ve açıklamaları inceleyelim;

string text = " Visual Studio 2005 ";



/*

* Trim() : Text'in başındaki ve sonundaki boşlukları kaldırır

* TrimEnd() : Text'in sonundaki boşlukları kaldırır.

* TrimStart() : Text'in başındaki boşlukları kaldırır.

*

*/

Console.WriteLine("-{0}-", text.Trim()); // -Visual Studio 2005-

Console.WriteLine("-{0}-", text.TrimEnd()); // - Visual Studio 2005-

Console.WriteLine("-{0}-", text.TrimStart()); // -Visual Studio 2005 -







Yer değiştirme fonksiyonu
Replace() –

Bir string içindeki bir değeri başka bir değerle değiştirmek istiyor iseniz Replace() metodunu kullanmanız gerekmektedir.

Aşağıdaki kod parçacığını inceleyelim;

string text = "Visual Studio 2005";



string text2 = text.Replace("sual", "SORU");

Console.WriteLine(text2); // "Ekran Çıktısı : ViSORU Studio 2005"





String inşa eden sınıf
StringBuilder()

Birden fazla stringi birleştirmek istiyor iseniz + ile bunu yapabilirsiniz.(str4 = str1+str2+str3).Fakat bu yöntem performans açısından iyi değildir.Onun yerine StringBuilder sınıfını kullanmak yazılımınızı daha kaliteli hale getirecektir.

Aşağıdaki kod parçacığını inceleyelim;

StringBuilder builder = new StringBuilder();

// .Net dilleri dizi içinde tanımlanıyor

string[] diller = new string[] { "C#", "VB", "C++" };



builder.AppendLine(".Net Dilleri..");

builder.AppendLine(); // Boş bir satır ekleniyor.

for (int i = 0; i <>" ifadesi ekleniyor.

builder.Insert(0, "-->");

// Ekrana ToString() metodu ile yazdırılıyor.

Console.WriteLine(builder.ToString());




Makalemin en başında belirttiğim örneklerde birden fazla string’in birleştirilmesiyle ilgili örneklerin hepsi StringBuilder sınıfı kullanılarak yapılmalıdır.

Her ne kadar çözüm yolları çok basit olsa da incelediğimiz metodlar bir yazılımda sık sık kullanabileceğimiz metodlardır.

13 Eylül 2009 Pazar

Solution Explorer Kayboldu (visual Studio 2008)

visual studio 2008 yen bir proje eklediğinizde anynı solution altına bir proje daha eklemek için Solution görmek gerekli ama ne yazık ki arsayılı olarak visual studio 2008 altında bir solution altında sadece bir tane proje olduğunda solution görünmüyor.
Ve solution göstermek gerekiyor.
Bunun için
Tools -> Options -> Projects and Solutions -> General -> ‘Always Show Solution’ işaretlemek yeterli

8 Eylül 2009 Salı

SQL Server C# ile Database Backup Ve Database Restore İşlemleri

public bool BACKUPDATABASE(string DatabaseName)
{
bool success = false;
string SQLQUERY = "";
SQLQUERY = @" BACKUP DATABASE [" + DatabaseName + "] " +
" TO DISK = N'"+ DatabaseName + ".bak' " +
" WITH INIT";
try
{
SqlCommand cmd = new SqlCommand(SQLQUERY);
cmd.Connection = Connections.Connection();
Connections.Open();
cmd.ExecuteScalar();
success = true;

}
catch (Exception ex)
{
MessageBox.Show("BACKUPDATABASE Error\n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
return success;
}

------------------------------------------------------------
public bool RESTOREDATABASE(string DatabaseName)
{
bool success = false;
string SQLQUERY = "";
SQLQUERY = @" RESTORE DATABASE [" + DatabaseName + "] " +
" FROM DISK = N'" + DatabaseName + ".bak' " +
" WITH RECOVERY";
try
{
SqlCommand cmd = new SqlCommand(SQLQUERY);
cmd.Connection = Connections.Connection();
Connections.Open();
cmd.ExecuteScalar();
success = true;
}
catch (Exception ex)
{
MessageBox.Show("RESTOREDATABASE Error\n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
return success;
}



Sql server ile backup işlemleri hiçte zor değil yanlız benim burada bağlantımı kapatmadığıma aldanmayın. siz işiniz bittiğinde bağlantınızı kapatın.Ben Open işlemi için bir property yazıp eğer açıksa kapat şeklinde bir özellik kattım.

SQL server C# Veritabanı silmek


public bool DELETEBACKUPDATABASE(string DatabaseName)
{
bool success = false;
string SQLQUERY = "";
SQLQUERY = @" DROP DATABASE [" + DatabaseName + "] ";
try
{
SqlCommand cmd = new SqlCommand(SQLQUERY);
intlogin = 1;
Connections.con = null;
cmd.Connection = Connections.Connection();
Connections.Open();
cmd.ExecuteNonQuery();
success = true;
}
catch (Exception ex)
{
MessageBox.Show("DELETEBACKUPDATABASE Error\n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
return success;
}



Veritabanı silmedeki asıl sorun
sql komutu çalıştırmak için ExecuteNonQuery ihtiyaç duymamız ve ve ExecuteNonQuery ise açık bir bağlantıya ihtiyaç duyması bağlantı açık olduğunda ise veritabanı silinemiyor.
O yüzden Connection String yazarken mutlaka farklı bir veritabanı ile bağlantı kurmalıyız.

Yani Ne yazıkki MSSQL ile bağlı olduğunuz veritabanını silmek bindiğiniz dalı kesmek gibi birşey olduğundan izin verilmiyor. En iyi yol herhangi bir veritabanına bağlanıp. öyle Silmek

Peki Her zaman olan veritabanı nı nereden bulacağız derseniz.Sistem Veritabanlarından birine bağlanın gitsin derim.