30 Ekim 2009 Cuma

Java Veritabanı işlemleri I

Java da veritabanı işlemlerine başlamadan önce kendinize bir ODBC Kaynağı oluşturmak oldukca akıllıca olacak böylece connection stringlerle uğraşmadan güzelce veri kaynağımıza bağlanabiliriz. ODBC Kaynağı oluşturmak için Denetim Masası > Veri Kaynakları (ODBC) girerek yayınlama yapmak istediğiniz veritabanı ayarlarını kolayca yapabilirsiniz.Bu Örnekde ben MS SQL Server 2005 üzerine NorthWind veritabanınıyapılandırarak deneme adını verdim.

Bu Örnekler sadece Where parametresi olmadan yapılan sorgular için. Bir Sonraki Bölümde Where Parametresi ile sorgulama işlemlerine geçeceğim.

----------------- BAĞLANMA ÖRNEĞİ---------------------------------------
package bağlantıtest;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Main
{
public static void main(String[] args)throws SQLException,ClassNotFoundException
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection baglanti = DriverManager.getConnection("jdbc:odbc:deneme");
System.out.println("Bağlantıya Erişildi.");
}
catch(SQLException ex)
{
System.out.println("oppppsssss !..." + ex.getMessage().toString() );
}
}
}

----------------------------------UPDATE ORNEGI------------------------------------------
package insert_update_delete_parametresiz;
import java.sql.*;
public class Main {

public static void main(String[] args) throws ClassNotFoundException,SQLException
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection baglanti = DriverManager.getConnection("jdbc:odbc:deneme");
//statement -SQL COMMAND .net gibi
Statement sorgu =baglanti.createStatement();
sorgu.executeUpdate("Insert Into Shippers(CompanyName,Phone) Values ('deneme','11111')");
sorgu.close();
System.out.println("başarılı Update ");
}
catch(Exception ex)
{
System.out.println("opsssss");
}

}
}
--------------------- SELECT IŞLEMI --------------------------------

package selectparametresiz;
import java.sql.*;
public class Main {
public static void main(String[] args) throws ClassNotFoundException,SQLException
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection baglanti = DriverManager.getConnection("jdbc:odbc:deneme");
//statement -SQL COMMAND .net gibi
Statement sorgu =baglanti.createStatement();
ResultSet resultum = sorgu.executeQuery("Select ShipperID,Companyname,Phone from Shippers");
while(resultum.next())
{
System.out.println(resultum.getInt("ShipperID"));
}

sorgu.close();
System.out.println("başarılı Update ");
}
catch(Exception ex)
{
System.out.println("opsssss");
}
}
}
--------- SELECT SONUCU GELEN SUTUNU COMBOBOXA DOLDURMA ORNEGI -------
//COMBOBOX OLUŞTURAN KODLAR BURADA DEĞIL
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection baglanti = DriverManager.getConnection("jdbc:odbc:deneme");
//statement -SQL COMMAND .net gibi
Statement sorgu =baglanti.createStatement();
ResultSet resultum = sorgu.executeQuery("Select ShipperID,Companyname,Phone from Shippers");
while(resultum.next())
{
String deneme = resultum.getString("ShipperID");
jComboBox1.addItem(deneme);
}
sorgu.close();
System.out.println("başarılı Update ");
}
catch(Exception ex)
{
System.out.println("opsssss" + ex.toString());
}

}

C# dosya oluşturmak

C#dosya oluşturma işlemi ile ilgili güzel bir kod bloğu.Ayrıca işlem kapandığı için
dosya üzerinde değişiklikde yapabilirsiniz.

FileInfo fi = new FileInfo(@"F:\Myprogram.txt");
FileStream fstr = fi.Create();
Console.WriteLine("Creation Time: {0}",f.CreationTime);
Console.WriteLine("Full Name: {0}",f.FullName);
Console.WriteLine("FileAttributes: {0}",f.Attributes.ToString());
//Way to delete Myprogram.txt file.
Console.WriteLine("Press any key to delete the file");
Console.Read();
fstr.Close();
fi.Delete();

26 Ekim 2009 Pazartesi

Yazı-2

Gökten kırmızılar yağdığı ve gözlerinin önünde zamanın eriyip gittiği bir vakitde insanın ince sızılarından bir sızısı yardım eder ; Şöyle der yeter sadece arkana bak ve harcağın zamana acı işte bu ses aklın vızıltısını dindirir. Sonrasında ise sadece yağmurun sesini duyarsın ve kırmızılığın yağmurdan değil gözlerinin ağlamaktan kırmızı gördüğü anlarsın.
İşte zamanın kendi içinde dürülüp de sıkıştığı ve ilermemek için inat edercesine seni bir boğduğu bir zamanda ,sessizliğin sesini dinlemenin ne kadar hoş olduğunu gör. Sadece gözlerini kapatıp zamanın ilerlemesi için dua et. Çünkü O topların yıkamadığı surları sessizce yıkmış ,Orduların öldüremediği insanları mezarlarında bile usulca eritmiştir.
Bu gücün sana neler yapacağını O nu yaratandan başka kim bilir ki. O zaman yeniden dua et; ilerleyen zamanın içinde boğulmamak ve sana acımasızca davranılmaması için.

Yazı-1

Kır çiçekleriyle örülü dünyamızı yakıp kavuran insanlar ,bize medeniyet teklif ediyorlar, aman ne güzel.Onların oyuna daldıkları cenettleri,sessizce kırlara uzanıp mavi gökyüzünü izlemekten daha güzel olabilir mi ? Gök gürültüleri arasında, insanlar ...yağmur beklerken, bomba yağdıranlar hiç yokluğun azabını tadacaklarını düşünmediler mi ?Aman ne güzel çaresizlere çare diye zehir sunmak ve bununla övünmek

22 Ekim 2009 Perşembe

Adım Marsa Gidiyor


http://mars.jpl.nasa.gov/
adresinden girerek adınızı marsa bir microchip içinde gönderiyorlar.Etkiliğe katıldığınızda size bir numara ve bir de belge veriyorlar.

Şimdiye kadar hiç bana böyle güzel bir sertifika veren olmamıştı.Çok mutlu oldum.,

19 Ekim 2009 Pazartesi

MSSQL Transaction Orneği

Güzel bir Transaction örneği buldum ;

CREATE PROCEDURE addTitle(@title_id VARCHAR(6), @au_id VARCHAR(11),
@title VARCHAR(20), @title_type CHAR(12))
AS

BEGIN TRAN
INSERT titles(title_id, title, type)
VALUES (@title_id, @title, @title_type)

IF (@@ERROR <> 0) BEGIN
PRINT 'Unexpected error occurred!'
ROLLBACK TRAN
RETURN 1
END

INSERT titleauthor(au_id, title_id)
VALUES (@au_id, @title_id)

IF (@@ERROR <> 0) BEGIN
PRINT 'Unexpected error occurred!'
ROLLBACK TRAN
RETURN 1
END

COMMIT TRAN

RETURN 0

12 Ekim 2009 Pazartesi

C# parametreli exe yapmak

Bir süredir parametreli exe yaparak gönderdiğim parametrelere göre programın çalışma akışı değiştirmek istiyordum (mesela başka bir veritabanına bağlanmak gibi).

Program.cs doysasında şöyle güzel bir kodla isteiğimi yaptım.


static void Main(string[] DatabaseType)
{
if (DatabaseType.Length != 0)
{
if (DatabaseType[0].Trim() == "")
intlogin = 1;
else if (DatabaseType[0].Trim() == "-Product" DatabaseType[0].Trim() == "-product" DatabaseType[0].Trim() == "-p" DatabaseType[0].Trim() == "-P")
intlogin = 1;
else if (DatabaseType[0].Trim() == "-Test" DatabaseType[0].Trim() == "-test" DatabaseType[0].Trim() == "-t" DatabaseType[0].Trim() == "-T")
intlogin = 2;
else
intlogin = 1;
}
else
intlogin = 1;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}



intlogin isimli bir değişkeni exedeki parametreye göre farklı şekillerde doldurarak daha sonra intlogin değişkenine bakarak veritabanı değiştiren bir fonksiyon yazdım.

11 Ekim 2009 Pazar

Cebit 2009

Cebit fuarının son günü, her işim gibi geç kalmış ve yapılması gereken işlerden biriside (tabiki yazılımcı olmamdan ötürü )Cebit fuarı gezmek ve yazılımla ilgili ne varsa hepsini görmekti.Bunun için Tuyap Fuar Merkezine gitmek gerekti.
(Cebit fuarına ulaşım oldukca kolay metrobusten avcılara gittiniz mi oradan kime sorasanız TUYAP Fuar merkezini giden IETT otobuslerini gösterecektir size).
ilk 3 salon kurumsal müşteriler için ayrılmıştı diğer salonlar ise ziyaretciler için ayrılmıştı.ilk olarak 4. salondan başladım turlamaya, fuar hediyelik torba dağıtmaya dönmüştü adeta. Ben biraz ARGE ürünü bir şeyler olacağını düşünüyordum.Yok ingilizce kursları yok kitapcılar yok dergiler yok arabalar bilmem ne... Teknoloj fuarından çok alelade bir fuar görünümü verdi .5 ve diğer salonları gezdikten sonra kurumsal ziyaretciler için olan 3. salona gittim.İşte burası.. Bir çok yazılım firmasının bin bir el emeği göz nuru ile yaptıkları yazılımları ,insanı hayrette bırakan teknolojik ürünleri gördüm.Kısacı Cebit kurumsal alanlarda olmasa Kobi fuarına dönmüştü.
Cebit'de dolaştığım ve sorduğum sorulara özel bir ilgi ve itina ile cevaplar veren kurumlara teşekkur ediyorum.Bu Kurumlar;

Bekdata Teknoloji A.Ş (Mimio Akıllı Tahtaları)
Pardus Ekibi (Pardus 2009 kurulan cd için ve mono projesi hakkında aydınlatıcı bilgiler için teşekkurler)
Likya Yazılım Bilişim Ltd.Şti (Dia Stok ,Muhasebe,Finans,Personel-Pordro,Demirbaş Takip ... Yazılım hakkında ayrıntılı bilgiler verdikleri için tşk Yapılacak çokda iş bırakmayıp hepsini yapmışlar. :))
Alibaba.com (Gümrükleme ile ilgili sorduğum soruya verdikleri aydınlatıcı cevap için tşk.)
Kariyer.Net (Cv bırakınca neden geri dönmüyorlar şeklindeki espirili soruma Vay terbiyesizler şeklince espirili yanıt verdikten sonra aydınlatıcı bilgiler veren yetkiliyede teşekkurler.)

10 Ekim 2009 Cumartesi

MSSQL bir veritabanında diğer bir veritabanına tablo kopyalamak

SELECT * INTO NewTable FROM existingdb.dbo.existingtable
Sorgusu aynı veritabanında bir veritabanından diğer bir veritabanına NewTable isimli bir tablo kopyalıyor işin ilginci ise hedef tabloda NewTable olmasına gerek yok.Kendisi tabloyu oluşturacak.