我有這樣的代碼,我遇到使用數據庫VARCHAR Java裏面的NetBeans,數據類型用java netbeans的我無法從數據庫讀取
import com.mysql.jdbc.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.util.Scanner;
public class NewDataBase {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
try{
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/mydb","root", "password");
Statement stmt = (Statement) con.createStatement();
System.out.println("Enter name");
String name =sc.next();
String SQL = "select * from list where Name ='"+ name + "'";
ResultSet rs = stmt.executeQuery(SQL);
System.out.print("Name: " + rs.getNString("Name"));
System.out.print("Number: " + rs.getNString("Number"));
// while(rs.next())
// {
// System.out.print("Name: " + rs.getNString("Name"));
// System.out.print("Number: " + rs.getNString("Number"));
//}
}catch(Exception e){
System.out.print("Error:" + e.getMessage());
}
}
}
錯誤讀取從MySQL數據庫中的信息的一個問題:能當字段的字符集不是UTF-8時,請不要調用getNString()
您已經開放了SQL注入。爲了避免它,請始終使用['PreparedStatement'](http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html)。 – Lion 2012-07-16 18:49:32
http://xkcd.com/327/ – 2012-07-16 22:11:22