本人java新手,现在在学习java与数据库的连接.
我在java的程序中加入String command="insert into person  values('sandals','man',23)";
sm.executeUpdate(command);
其中表person我是在sqlserver2005 EXPRESS中创建好了,
在程序在中执行时老是报错,无法插入.但是
我在sqlserver中insert into person  values('sandals','man',23) 使用该句,是能够插入到表中的.后来我发现如果我在java中创建表,那么就能向表中插入.
如果在sqlserver中创建表的话,java程序中是无法插入的,也无法查询.请高手指点,感激不进,谢谢
..

解决方案 »

  1.   


    从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。
    这是报错import java.sql.*;public class test { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String url = "jdbc:sqlserver://localhost:1433;DatabaseName=Library";
    Connection con = null;
    String command = null;
    Statement sm = null; try {
    try {
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    System.out.println("驱动装载完成");
    } catch (ClassNotFoundException e) {
    System.out.println("驱动装载失败");
    } con = DriverManager.getConnection(url, "sa", "sa");
    System.out.println("数据库连接成功");
    } catch (Exception e) {
    System.out.println("连接数据库失败");
    } try {
    sm = con.createStatement();
    command = "INSERT INTO Readers VALUES('郝燕丽','女',2,'人民医院','四方里12-1-201','2353','2004-20-25')";
    sm.executeUpdate(command);
    } catch (SQLException e) {
    while(e!=null){
    System.err.println(e.getMessage());
    e=e.getNextException();
    }
    } catch (Exception e) {
    System.out.println("数据库操作失败");
    } }}