Konuyu görüntüle
IUCODERS FORUM > Programlama > JAVA > JSF - Veritabanındaki text değişkenler
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
11.07.2009-20:29 #62415
Veritabanında [text] olarak tanımlanmış bir değişkeni <h:inputTextArea/> yada <h:inputText> e atadığımda no converter gibi bir hata alıyorum. string ile text dönüşümü yapmam gerek sanırım. Bunu nasıl yapabilirim?

Değişkeni veritabanıdan object olarak alıyorum.





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
11.07.2009-22:29 #62416
Bu text 'ı object olarak alıp toString verdiğimde şunu alıyorum "net.sourceforge.jtds.jdbc.ClobImpl@582217".d oh





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
11.07.2009-22:40 #62418
clob blob alanlar veritabanına gore değişkenlik gosterir. bunları veritabanına has karakter tipi olarak okumak lazım. clob verinin veritabanından istemciye transferi ile char bir değişkenin transferi farklıdır.





N/A
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
11.07.2009-22:41 #62419
orhan yazdi
 
clob blob alanlar veritabanına gore değişkenlik gosterir. bunları veritabanına has karakter tipi olarak okumak lazım. clob verinin veritabanından istemciye transferi ile char bir değişkenin transferi farklıdır.


ne yapmalıyım ozmn? arraya bi converter mi yazıcamconfused





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
11.07.2009-22:51 #62420
hibernate gibi birşey kullanıyor musun?





N/A
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
11.07.2009-22:55 #62421
orhan yazdi
 
hibernate gibi birşey kullanıyor musun?


Kendi yazdığım bi yapı var. otomatik sorgu oluşruyo ve değişkenleri field isimlerine göre hasmaplerde mapliyorum.





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
11.07.2009-22:57 #62422
Sql tiplerinden birine denk geldiğini varsayarsak. resultsetten gelen değeri object değeri Clob yada ClobImpl nesnesine cast et daha sonra getcharacterstream metodunu StringReader ile okuyup bir stringe atarsın.





N/A
Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
11.07.2009-22:59 #62423
extreme yazdi
 


Kendi yazdığım bi yapı var. otomatik sorgu oluşruyo ve değişkenleri field isimlerine göre hasmaplerde mapliyorum.

malesef clob ve ya veritabanına has tipler için özel işler yapman lazım.





N/A
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
11.07.2009-23:36 #62427
O zaman bana bu uyar ama StringReader kısmını yapamadım d oh

public class textConverterBean implements Converter {

    public Object getAsObject(FacesContext context, UIComponent component, String value) {

        if(value == null){
            return null;
        }

        if(value.equals(""))
            return null;

        ClobImpl as = null;
        try {
            as.setString(0, value);
        } catch (SQLException ex) {
            System.out.println(ex.getMessage());
        }
       return as;

    }

    public String getAsString(FacesContext context, UIComponent component, Object value) {
        if(value==null){
            return null;
        }
        ClobImpl temp = (ClobImpl) value;
        StringReader tempStringReader = null;        
        temp.getCharacterStream();     
        return tempStringReader.toString();

    }

}






The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
11.07.2009-23:42 #62432
Clob c = null;
BufferedReader br=new BufferedReader(c.getCharacterStream());

şeklinde birşey yapabilirisin.
yada
StringReader sr=(StringReader)c.getCharacterStream();
BufferedReader br=new BufferedReader(sr);







N/A
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
12.07.2009-00:48 #62437
clob -> String kısmını yaptım ama Stringden clob'a çeviremiyorum. Onu nasıl yapabilirimconfused

    public Object getAsObject(FacesContext context, UIComponent component, String value) {
       return value;
    }

    public String getAsString(FacesContext context, UIComponent component, Object value) {
        if (value == null) {
            return null;
        }
        Clob clobData = (Clob) value;
        Reader reader = null;
        try {
            reader = clobData.getCharacterStream();
        } catch (SQLException ex) {
            return ex.getMessage();
        }
        CharArrayWriter writer = new CharArrayWriter();
        int i = -1;
        try {
            while ((i = reader.read()) != -1) {
                writer.write(i);
            }
        } catch (IOException ex) {
            return ex.getMessage();
        }
        return new String(writer.toCharArray());
    }






The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
12.07.2009-21:49 #62449
http://www.java2s.com/Code/Java/Dat...BC/DemoPreparedStatementSetClob.htm





N/A
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
12.07.2009-22:14 #62451
orhan yazdi
 
http://www.java2s.com/Code/Java/Dat...BC/DemoPreparedStatementSetClob.htm


Bu örnek de string'den clob'a dönüşüm yok :S Direk bi tablodan diğerine atıyor.





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
12.07.2009-22:47 #62453
Test etmedim fakat şu şekilde çalışması lazım.
Connection conn=null;
		String x="cok uzun string";
		PreparedStatement ps=conn.prepareStatement("sql");
		StringReader sr=new StringReader("cok uzun string");
		ps.setCharacterStream(1, sr, x.length());






N/A
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
12.07.2009-23:25 #62454
orhan yazdi
 
Test etmedim fakat şu şekilde çalışması lazım.
Connection conn=null;
		String x="cok uzun string";
		PreparedStatement ps=conn.prepareStatement("sql");
		StringReader sr=new StringReader("cok uzun string");
		ps.setCharacterStream(1, sr, x.length());


Benim yapıya uymuyo bud oh. direk convert edemezmiyimconfused





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





1 2
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb