2012-12-06 3 views
0

에 데이터를 삽입 할 수 없습니다 나는 내 프로젝트 에 문제가 여기 내 pTwitterEx.java는 MySQL의

import java.util.logging.Level; 
import java.util.logging.Logger; 
import org.json.JSONException; 
import org.json.JSONObject; 

/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 

/** 
* @author tasgnab 
* how to use: 
* 1. copy-paste folder tempat menyimpan hasil crawl per topik pada variabel dir 
* 2. masukkan topik sabagai label di databae pada variabel topik 
* 3. run file 
*/ 
public class pTwitterEx { 
    private static Database db = new Database(); 
    private static String dir = "D:\\KULIAH\\semester7\\TA2\\java\\dataset\\baik"; 
    private static String topik = "baik"; 
    private static int count=0; 
    public static void main(String[]args){ 
     db.query("truncate twitter"); 
     String temp="a"; 
     while (!"iniadalahpenanda".equals(temp)){ 
      FileRead fr = new FileRead(dir+count); 
      try { 
       JSONObject J = new JSONObject(fr.getTeks()); 
       String C = J.get("text"); 
       db.query("insert into twitter values '"+C+"','"+topik+"'"); 
      } catch (JSONException ex) { 
       temp = "iniadalahpenanda"; 
       //System.exit(0); 
       //Logger.getLogger(pTwitterEx.class.getName()).log(Level.SEVERE, null, ex); 
      } 
      count++; 
     } 
     //db.query("insert into twitterfix select distinct comment,'"+topik+"' from twitter"); 
    } 
} 

내 문제는, MySQL은 내 데이터베이스에 폴더 "백현진"의 데이터입니다. 데이터베이스의 필드 이름은 텍스트 (유형 : 텍스트) 및 토픽 (유형 : varchar)입니다.

프로그램을 실행하면 오류가 표시되지만 데이터베이스의 데이터는 여전히 비어 있습니다. 내 문제를 해결하는 데 도움을 줄 수 있습니까? 어떤 도움을 주셔서 감사합니다 ...

+4

당신의'Database' 타입은 무엇이고 여러분이 보여준 코드와 마찬가지로 부적절한 예외 처리 기능을 가지고 있습니까? –

+0

몇 가지 오류가 있습니까? –

+0

데이터베이스에 행 이름 텍스트 (유형 : varchar) 및 topik (유형 : varchar)가 포함되어 있습니다 ... 오류를 알지 못합니다. 실행하면 오류가 표시되지 않지만 데이터는 내 데이터베이스에 입력되지 않습니다. ..... 왜 그런가요? –

답변

0

DB에서 표현식을 완성하려면 (적어도 MySQL에서는) ";" 줄의 끝에서.

죄송합니다,이 라인 변경 :

db.query("insert into twitter values '"+C+"','"+topik+"';"); 
+0

에 취약하다는 점에 유의하십시오. ";" 내 코드에서? –

+0

타입 데이터 텍스트는 텍스트입니다 ..... –

+0

미안하지만, 당신이 의미하는 바를 얻지 못했습니다. 그것은 Nambari가 요구 한 Exception입니까, 아니면 변수'C '가 String이라는 것을 알려주시겠습니까? 또한 .. 콘솔에서 같은 명령을 시도 했습니까? – MalaKa

0

귀하의 질의가해야 뭔가 같은 : 관찰자 중괄호 ()

예 :

이 라인에

db.query("insert into twitter values '"+C+"','"+topik+"'"); 

db.query("insert into twitter values('"+C+"','"+topik+"')"); 
+0

여전히 작동하지 않을 수 있습니다 .....하지만 당신의 도움을 주셔서 감사합니다 ... :) –

+0

@ AdamAzhary : 그것이 작동하지 않는 경우 몇 가지 예외가있을 것입니다, 거기에 값을 할당하는 대신 예외 블록에 스택 추적을 인쇄하십시오. 예외 스택은 몇 가지 단서를 제공합니다. – kosa

+0

유형 데이터 텍스트는 텍스트 .....입니다. –