java向数据库插入数据时的错误: Duplicate entry '' for key 'PRIMARY' 是什么问题,怎么解决,先谢啦!

java向数据库插入数据时的错误: Duplicate entry '' for key 'PRIMARY' 是什么问题,怎么解决,先谢啦!,第1张

是代码输入错误造成的,解决方法如下:

1、需要重新配置数据库,首找到数据库安装目录下的MySQLInstanceConfig.exe,双击打开。

2、打开之后,前面步骤默认就行,到了图片所示的地方,修改字符集为utf-8。

3、然后点击下一步,如下图所示。

4、最后重启数据库。在代码中连接数据库部分加上?characterEncoding=utf8,这样问题就解决了。

java向数据库中插入数据,可以使用mysql数据库,使用statement类来 *** 作数据库,示例如下:

Connection conn = null

  Statement st = null

  try {

   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")//加载驱动类

   conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://<server_name>:<1433>", "name","pwd")

   conn.setAutoCommit(false)

   st = conn.createStatement()

   // 模拟一个 str[i] = nd.getNodeValue().trim()

   String[] str = new String[] { "aaa", "bbb", "ccc", "ddd", "eee","fff" }

   String sqlStr = null

   for (int i = 0 i < str.length i++) {

    sqlStr = "INSERT INTO <TABLENAME> (<COLNAME>)VALUES('" + str[i] + "')"//向数据库中插入数据

    st.executeUpdate(sqlStr)

   }

   conn.commit()

  } catch (Exception e) {

   e.printStackTrace()

  } finally {//释放数据库的资源

   try {

    if (st != null)

     st.close()

    if(conn != null && !conn.isClosed()){

     conn.close()

    }

   } catch (SQLException e) {

    e.printStackTrace()

   }

  }

java.util.Date  date=new java.util.Date()

java.sql.Date  data1=new java.sql.Date(date.getTime())

这样 java中的date就转成sql中的date了 ,具体你可以根据需要进行简化,

date1 就是当前时间,已经转成能插入数据库中的datetime类型了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6759690.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存