Sql de DateTime veri tipleriyle çalışmak Null yada String.Empty ("") atanamadığından biraz problem çıkartır.
diyelimki kullanıcı tarih girmemiş ve sizde doğal olarak tarih tipi girilmemişse tarih alanına bir şey yazdırma diyebilmelisiniz.
null atamayız "" atamayız ozaman
DBNull.Value atayabilirsiniz.
Peki .Net de DateTime Tipinede hiç bir şey girilmediğinde null yada "" taşımak yerine Datetime.MinValue atayarak boş gelmiş gibi düşünebilirsiniz.
yani şöyle bir şey yaptım ben
if (customerequipment.EquipmentInstallCATDate == DateTime.MinValue)
cmd.Parameters.Add("@dEquipmentInstallCATDate", SqlDbType.DateTime).Value = DBNull.Value;
else
cmd.Parameters.Add("@dEquipmentInstallCATDate", SqlDbType.DateTime).Value = customerequipment.EquipmentInstallCATDate;
30 Temmuz 2009 Perşembe
dev express Message Box Ayarları
Dev Express Message Box kullanımı oldukca kolay
XtraMessageBox.Show("Delete Operation is Successful", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
Geriye değer döndürmek ise şöyle ;
DialogResult DResult=XtraMessageBox.Show("Are You Sure Clearing Form ?", "Clear", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
if (DResult == DialogResult.No)
return;
29 Temmuz 2009 Çarşamba
3G de Gelmiş Aman Aman
Viki Bilgisi:Uluslararası Telekomünikasyon Birliği-2000 (International Mobile Telecommunications-2000) (IMT-2000), ya da daha bilinen adıyla 3G, 3N ya da 3. Nesil, Uluslararası Telekomünikasyon Birliği tarafından tanımlanan; GSM EDGE, UMTS, CDMA2000, DECT ve WiMAX teknolojilerini kapsayan bir standartlar ailesidir. Verilen hizmetler arasında mobil kullanıcılar için geniş-alanda kablosuz telefon görüşmeleri, görüntülü aramalar ve kablosuz veri aktarımı vardır. 2G ve 2.5G hizmetleriyle karşılaştırıldığında, 3G eşzamanlı konuşma ve veri hizmetleriyle daha yüksek veri hızlarını (HSPA+ ile iniş yolunda 14.4 Mbit/s ve çıkış yolunda 5.8 Mbit/s'e ulaşan hızları) desteklemektedir. Bu sayede 3G ağları, ağ operatörlerinin daha geniş ve gelişmiş hizmetleri, geliştirilmiş spektral verimlilik sayesinde ulaşılan daha büyük ağ kapasitesiyle sunmalarını sağlar.
Uluslararası Telekomünikasyon Birliği üçüncü nesil (3G) mobil telefon standartlarını gelişimin hızlanması, bantgenişliğinin artması ve daha geniş uygulamaların desteklenmesi için tanımladı. Örneğin, GSM (şu anki en yaygın cep telefonu standardı) sadece ses değil, aynı zamanda 14.4 kbps hızlarında devre anahtarlamalı veri aktarımını destekler; ancak çokluortam uygulamalarının desteklenmesi için 3G'de paket anahtarlamalı verilerin daha iyi spektral verimlilikte ve daha yüksek hızlarda aktarılması gerekmektedir. Paket anahtarlaması sayesinde 3G sisteminde cihazlar bant genişliğini sadece veri alışverişi sırasında işgal ederler. Özet olarak, 3G'nin 2G'ye göre getirmiş olduğu en büyük yenilik, iletimin ses yerine veri odaklı olmasıdır.
Uluslararası Telekomünikasyon Birliği üçüncü nesil (3G) mobil telefon standartlarını gelişimin hızlanması, bantgenişliğinin artması ve daha geniş uygulamaların desteklenmesi için tanımladı. Örneğin, GSM (şu anki en yaygın cep telefonu standardı) sadece ses değil, aynı zamanda 14.4 kbps hızlarında devre anahtarlamalı veri aktarımını destekler; ancak çokluortam uygulamalarının desteklenmesi için 3G'de paket anahtarlamalı verilerin daha iyi spektral verimlilikte ve daha yüksek hızlarda aktarılması gerekmektedir. Paket anahtarlaması sayesinde 3G sisteminde cihazlar bant genişliğini sadece veri alışverişi sırasında işgal ederler. Özet olarak, 3G'nin 2G'ye göre getirmiş olduğu en büyük yenilik, iletimin ses yerine veri odaklı olmasıdır.
3G'nin getirmiş olduğu birçok yenilik vardır:
Mesajlaşma, internet erişimi ve yüksek hızda çoklu ortam haberleşme desteği
Gelişmiş hizmet kalitesi
Gelişmiş pil ömrü
Konumlandırma hizmetlerinin sağlanması
İşletim ve bakım kolaylığı
Multimedya ve eğlence seçenekleri ile hızlı dosya,resim,müzik aktarımları olmaktadır.
Mevcut şebekelerle birlikte çalışabilirlik, 2G’ye dolaşım sağlayabilme
Mevcut şebekelere geriye doğru uyum sağlayabilme, düşük kurulum maliyeti
Gelişmiş güvenlik yöntemleri sayesinde mobil ticarete ortam sağlayabilme
Medya haberciliği açısında çekilen video görüntülerinin en hızlı bir şekilde haber merkezine yetiştirilmesi
Son Kullanıcı açısında YouTube hesabınıza direk video gönderimi ve paylaşımı
4 saatte indirilebilen 700 MB'lık Divx filmin 1 saatte indirilebilmesi (2 mbps hız)
Görüntülü konuşmanın sağlanması.
Mobil TV izleyebilme (Kupa maçları ve diziler gibi).
Mesajlaşma, internet erişimi ve yüksek hızda çoklu ortam haberleşme desteği
Gelişmiş hizmet kalitesi
Gelişmiş pil ömrü
Konumlandırma hizmetlerinin sağlanması
İşletim ve bakım kolaylığı
Multimedya ve eğlence seçenekleri ile hızlı dosya,resim,müzik aktarımları olmaktadır.
Mevcut şebekelerle birlikte çalışabilirlik, 2G’ye dolaşım sağlayabilme
Mevcut şebekelere geriye doğru uyum sağlayabilme, düşük kurulum maliyeti
Gelişmiş güvenlik yöntemleri sayesinde mobil ticarete ortam sağlayabilme
Medya haberciliği açısında çekilen video görüntülerinin en hızlı bir şekilde haber merkezine yetiştirilmesi
Son Kullanıcı açısında YouTube hesabınıza direk video gönderimi ve paylaşımı
4 saatte indirilebilen 700 MB'lık Divx filmin 1 saatte indirilebilmesi (2 mbps hız)
Görüntülü konuşmanın sağlanması.
Mobil TV izleyebilme (Kupa maçları ve diziler gibi).
28 Temmuz 2009 Salı
C# kod ile nesne oluşturma
DevExpress.XtraEditors.CheckedListBoxControl[] ArryChkEquipmentSubSystem;
yazarak en başta bir kontrol tanımladım.
daha sonra sayısının kesinleştiği kod bloguna giderek
ArryChkEquipmentSubSystem = new DevExpress.XtraEditors.CheckedListBoxControl[intCountCustomerEquipment];
şimdi nesneler oluştu bunları forma eklemeye gelelim
for (int i = 0; i < location =" new" size =" new" style="color:#330099;">ArryChkEquipmentSubSystem[i].Name = "SubSystem_" + i;
ArryChkEquipmentSubSystem[i].ItemCheck += new DevExpress.XtraEditors.Controls.ItemCheckEventHandler(ArryChkEquipmentSubSystem_ItemCheck);
}
kırmızı yazılı kodla bir olay bile bağladım :)
olayın hangi nesneden tetiklendiğini nereden alırım
private void ArryChkEquipmentSubSystem_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e)
{
DevExpress.XtraEditors.CheckedListBoxControl editArryChkEquipmentSubSystem = sender as DevExpress.XtraEditors.CheckedListBoxControl;
string strControlName = editArryChkEquipmentSubSystem.Name.ToString();
int intControlID = Convert.ToInt16(strControlName.Replace("SubSystem_", ""));
if (e.State == CheckState.Checked)
{
lstChkEquipmentSubSystem[intControlID].Add(e.Index);
}
if (e.State == CheckState.Unchecked)
{
lstChkEquipmentSubSystem[intControlID].Remove(e.Index);
}
}
Mavi yazılı kod ile bunu anlarım.
Not: Burada nesnelerin konumlarını aynı yazdığımız için üste üste gelerek tek bir nesne gibi görünür.
yazarak en başta bir kontrol tanımladım.
daha sonra sayısının kesinleştiği kod bloguna giderek
ArryChkEquipmentSubSystem = new DevExpress.XtraEditors.CheckedListBoxControl[intCountCustomerEquipment];
şimdi nesneler oluştu bunları forma eklemeye gelelim
for (int i = 0; i < location =" new" size =" new" style="color:#330099;">ArryChkEquipmentSubSystem[i].Name = "SubSystem_" + i;
ArryChkEquipmentSubSystem[i].ItemCheck += new DevExpress.XtraEditors.Controls.ItemCheckEventHandler(ArryChkEquipmentSubSystem_ItemCheck);
}
kırmızı yazılı kodla bir olay bile bağladım :)
olayın hangi nesneden tetiklendiğini nereden alırım
private void ArryChkEquipmentSubSystem_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e)
{
DevExpress.XtraEditors.CheckedListBoxControl editArryChkEquipmentSubSystem = sender as DevExpress.XtraEditors.CheckedListBoxControl;
string strControlName = editArryChkEquipmentSubSystem.Name.ToString();
int intControlID = Convert.ToInt16(strControlName.Replace("SubSystem_", ""));
if (e.State == CheckState.Checked)
{
lstChkEquipmentSubSystem[intControlID].Add(e.Index);
}
if (e.State == CheckState.Unchecked)
{
lstChkEquipmentSubSystem[intControlID].Remove(e.Index);
}
}
Mavi yazılı kod ile bunu anlarım.
Not: Burada nesnelerin konumlarını aynı yazdığımız için üste üste gelerek tek bir nesne gibi görünür.
C# Dataset Bilgi Okumak
Datasetden bil okumak bilindiği gibi sorunlu bir işlem öncelikle datasetin hangi tablosundan hangi sutunu okuyacağımızı bilmeliyiz.
DataSet dsID = new DataSet();
dsID = obj.TakeCustomerEquipmentCustomerIDGetEquipmentMasterNameCustomerEquipmentID(intcustomerID);
ArrayList aryEquipmentID = new ArrayList();
foreach (DataRow dtr in dsID.Tables[0].Rows)
{
foreach (DataColumn c in dsID.Tables[0].Columns)
{
aryEquipmentID.Add(dtr[c.ColumnName]);
}
}
dataset ilk tablosunun satırlarında gezerek sutun sutun yazdırılıyor.Eğer Datasetin aldığınız sorgular birden fazla sutun içeriyorsa ArrayList giderek belli bir moddaki verileri filitre etmelisiniz. Örneğin 3 tane eğer kolumunuz varsa ve ilki ID tablosunda geliyorsa Araylist içeriği
0 ID
1
2
3 ID
4
5
6 ID
şeklinde gelen kayıtlardan oluşacak
neyseki benim TakeCustomerEquipmentCustomerIDGetEquipmentMasterNameCustomerEquipmentID güzel fonksiyonum tek bir sutundan oluşuyor.Tekrar yukarıdaki kodu filitreleme gerek yok.
DataSet dsID = new DataSet();
dsID = obj.TakeCustomerEquipmentCustomerIDGetEquipmentMasterNameCustomerEquipmentID(intcustomerID);
ArrayList aryEquipmentID = new ArrayList();
foreach (DataRow dtr in dsID.Tables[0].Rows)
{
foreach (DataColumn c in dsID.Tables[0].Columns)
{
aryEquipmentID.Add(dtr[c.ColumnName]);
}
}
dataset ilk tablosunun satırlarında gezerek sutun sutun yazdırılıyor.Eğer Datasetin aldığınız sorgular birden fazla sutun içeriyorsa ArrayList giderek belli bir moddaki verileri filitre etmelisiniz. Örneğin 3 tane eğer kolumunuz varsa ve ilki ID tablosunda geliyorsa Araylist içeriği
0 ID
1
2
3 ID
4
5
6 ID
şeklinde gelen kayıtlardan oluşacak
neyseki benim TakeCustomerEquipmentCustomerIDGetEquipmentMasterNameCustomerEquipmentID güzel fonksiyonum tek bir sutundan oluşuyor.Tekrar yukarıdaki kodu filitreleme gerek yok.
23 Temmuz 2009 Perşembe
String birleştirme
C# da string birleştirme + operatörüyle
VB de ise & ile yapılma
C# da bir örnek
string strcode = "";
strcode = strcustomercode + "-" + intyear.ToString() + "-" + intCountratTotalCount + "-" + ContractType.Properties.Value.ToString();
ContractNumber.Properties.Value = strcode;
VB de ise & ile yapılma
C# da bir örnek
string strcode = "";
strcode = strcustomercode + "-" + intyear.ToString() + "-" + intCountratTotalCount + "-" + ContractType.Properties.Value.ToString();
ContractNumber.Properties.Value = strcode;
C# Tarih Farkı (Date Diff)
C# da hep datihfarkı_sontarih-ilktarih gibi bir işlemi yapmak istemişimdir.Bu işlem bukadar kolay olmasada
diffResult =dtTodayMidnight -dtTodayNoon gibi bir işlemi yapan C# kodu aşağıda var.
using System;
using System.Collections.Generic;
using System.Text;
namespace Console_DateTime
{
class Program
{
static void Main(string[] args)
{
System.DateTime dtTodayNoon = new System.DateTime(2006, 9, 13, 12, 0, 0);
System.DateTime dtTodayMidnight = new System.DateTime(2006, 9, 13, 0, 0, 0);
System.TimeSpan diffResult = dtTodayNoon.Subtract(dtYestMidnight);
Console.WriteLine("Yesterday Midnight - Today Noon = " + diffResult.Days);
Console.WriteLine("Yesterday Midnight - Today Noon = " + diffResult.TotalDays);
Console.ReadLine();
}
}
}
using System.Collections.Generic;
using System.Text;
namespace Console_DateTime
{
class Program
{
static void Main(string[] args)
{
System.DateTime dtTodayNoon = new System.DateTime(2006, 9, 13, 12, 0, 0);
System.DateTime dtTodayMidnight = new System.DateTime(2006, 9, 13, 0, 0, 0);
System.TimeSpan diffResult = dtTodayNoon.Subtract(dtYestMidnight);
Console.WriteLine("Yesterday Midnight - Today Noon = " + diffResult.Days);
Console.WriteLine("Yesterday Midnight - Today Noon = " + diffResult.TotalDays);
Console.ReadLine();
}
}
}
Kaydol:
Kayıtlar (Atom)