import java.sql.*;public class A
{
public static void main(String[] args)
{
try
{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/Yang";Connection con = DriverManager.getConnection(url,"root","03allen");
Statement stmt = con.createStatement();String query = "select * from table_1";
ResultSet rs=stmt.executeQuery(query);while(rs.next())
{
System.out.println(rs.getString(2));}
int a = 111111;
String b = "dd";
int c = 111;
int d = 111;
int e = 111;
String SQLOrder = "INSERT INTO table_1 VALUES("+a+","+b+","+c+","+d+","+e+")";
stmt.executeUpdate(SQLOrder);
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch(SQLException e)
{
e.printStackTrace();
}}
}首先,数据库已经连上了,没有问题。。
数据库里五个项里,第二个类型为LONGVARCHAR(MySQL里没发现String类型)我在这里输入为String型的。。
出现异常:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column "dd" in 'field list'
但是,如果我把String类型的b,改成int型的就能写入数据库,这是为什么,请高手帮忙解答下
{
public static void main(String[] args)
{
try
{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/Yang";Connection con = DriverManager.getConnection(url,"root","03allen");
Statement stmt = con.createStatement();String query = "select * from table_1";
ResultSet rs=stmt.executeQuery(query);while(rs.next())
{
System.out.println(rs.getString(2));}
int a = 111111;
String b = "dd";
int c = 111;
int d = 111;
int e = 111;
String SQLOrder = "INSERT INTO table_1 VALUES("+a+","+b+","+c+","+d+","+e+")";
stmt.executeUpdate(SQLOrder);
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch(SQLException e)
{
e.printStackTrace();
}}
}首先,数据库已经连上了,没有问题。。
数据库里五个项里,第二个类型为LONGVARCHAR(MySQL里没发现String类型)我在这里输入为String型的。。
出现异常:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column "dd" in 'field list'
但是,如果我把String类型的b,改成int型的就能写入数据库,这是为什么,请高手帮忙解答下
stmt.executeUpdate(SQLOrder); 格式错了,varchar的插入格式是加单引号的
如"insert into v_test values (1,'viszl')";
第二个字段是varchar的
你的那个改为
String SQLOrder = "INSERT INTO table_1 VALUES("+a+",‘"+b+"’,"+c+","+d+","+e+")";
String SQLOrder = "INSERT INTO table_1 VALUES("+a+",'"+b+"',"+c+","+d+","+e+")";
???