8 Ağustos 2012 Çarşamba

mysql tekrarlı kayıtları silme

ben bu şekilde yapıyorum tabloda çok fazla data yoksa. 
CREATE TABLE tekrarlıKayıtlarıSilinmisTablo AS SELECT DISTINCT * FROM asilTablo
verilerin düzgünlüğünden emin isen asilTabloyu silip , tekrarlıKayıtlarıSilinmisTablo adını istediğin gibi değiştirebilirsin.

Yeni tablo create etmek istemiyorsanız

delete from asilTablo where id in (select    geciciTablo .id  from (select asilTablo .id  from asilTablo   where asilTablo .id not in (select asilTablo .id  from asilTablo  group by asilTablo .id  )) as geciciTablo);

gibi birşey işinizi görebilir sanırsam.

5 Ağustos 2012 Pazar

Java email gönderme



package main;

/**
 * @author Murat GUZEL
 * Java ile email yollamaya yarayan classtır.
 * mail.jar ve activation.jar a bağımlılığı vardır.
 *
 */
import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class Sender {
public static void main(String [] args)
{
/**
* Oncelikle email in yollanacağı adresin
* bilgilerini giriyoruz.
*
*/
String hostAdresi = "smtp.gmail.com";
String gonderimAdresi = "abcdef@gmail.com";
String gonderimAdresiSifresi = "abcdef";
Properties sistemProp = System.getProperties();
sistemProp.put("mail.smtp.starttls.enable", "true");
sistemProp.put("mail.smtp.host", hostAdresi);
sistemProp.put("mail.smtp.user", gonderimAdresi);
sistemProp.put("mail.smtp.password", gonderimAdresiSifresi);
sistemProp.put("mail.smtp.port", "587");
sistemProp.put("mail.smtp.auth", "true");

/**
* Gonderilecek adresileri set ediyoruz.
*
*/
String[] gonderilecekAdresler = {"abcdeff@hotmail.com","defghs@gmail.com"};

Session session = Session.getDefaultInstance(sistemProp, null);
MimeMessage gonderilecekMesaj = new MimeMessage(session);
/**
* yollayıcı adresimize bağlantı tanımlıyoruz.
*
*/
try {
gonderilecekMesaj.setFrom(new InternetAddress(gonderimAdresi));
} catch (AddressException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
} catch (MessagingException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}

InternetAddress[] gonderilecekEmailAdresleri = new InternetAddress[gonderilecekAdresler.length];

/**
* Gonderilecek adresleri string array den
* internet adreslerine dönüştürüyoruz.
*
*/
for( int i=0; i < gonderilecekAdresler.length; i++ ) { // changed from a while loop
try {
gonderilecekEmailAdresleri[i] = new InternetAddress(gonderilecekAdresler[i]);
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* tanımladığımız bağlantıya gönderilecek adresleri
* ekliyoruz.
*
*/
for( int i=0; i < gonderilecekEmailAdresleri.length; i++) { // changed from a while loop
try {
gonderilecekMesaj.addRecipient(Message.RecipientType.TO, gonderilecekEmailAdresleri[i]);
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
gonderilecekMesaj.setSubject("E-mail deneme.");
} catch (MessagingException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
/**
* Mesajı set ediyoruz.
*
*/
try {
gonderilecekMesaj.setText("Burası mesaj bölümüdür.");
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Transport transport = null;
try {
transport = session.getTransport("smtp");
} catch (NoSuchProviderException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
/**
* connection açıyoruz.
*
*/
try {
transport.connect(hostAdresi, gonderimAdresi, gonderimAdresiSifresi);
} catch (MessagingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
/**
* mesajı yolluyoruz.
*
*/
try {
transport.sendMessage(gonderilecekMesaj, gonderilecekMesaj.getAllRecipients());
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

/**
*
* connection kapatıyoruz.
*/
try {
transport.close();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}