【问题标题】:insert 2 lines in a single coloumn cell在单个列单元格中插入 2 行
【发布时间】:2015-03-18 09:42:18
【问题描述】:

谁能建议如何在一个单元格中插入两行?即,我需要输入第一行,然后第二行应该从单列单元格中的新行开始。假设我有一列定义为varchar(100),我需要将字符串core java,j2EE will service request 存储为,
core java
j2EE will service request

在一个单独的列中。

当我从数据库中检索并显示在 JSP 页面上时,它应该显示为两行。
我正在尝试从数据库中检索日语内容并使用 jsp 显示。日文内容(utf-8 格式)是否会导致任何问题,以至于<br /> 标记不会被解析为换行符。当我在屏幕上显示它时,它会以string <br /> 的形式出现。

【问题讨论】:

  • 为什么会有问题?换行符和其他字符一样是一个字符
  • 请修正您的问题的标记。什么是文本,什么是代码?
  • 在插入时使用 concat('java',', ','j2EE will service request')
  • 只是一个小问题,varchar(100) 是否意味着列中的每个单元格可以存储 100 个字节? -technet.microsoft.com/en-us/library/aa258242%28v=sql.80%29.aspx
  • 是的。仅例如我采用了 varchar(100)。实际上我需要使用换行符存储行

标签: java sql jsp


【解决方案1】:

换行符('\n')仍然是字符,所以插入没有问题:

Connection conn = ...;
PreparedStatement ps = 
  conn.prepareStatement
  ("INSERT INTO my_table VALUES (?)");
ps.setString (1, "j2EE will service request\nin a single coloumn.");
ps.executeUpdate();

注意事项:

  1. 不同的平台有不同的行分隔符,因此根据这些数据的消费方式,使用System.getProperty("line.separator")可能更合适。
  2. 再次为清楚起见,此代码省略了资源管理(例如,关闭语句)和错误处理代码。

【讨论】:

  • 我真的不确定是否使用系统的行分隔符。如果您的数据打算供第三方使用,实际上单独使用\n 更便于携带。
  • @fge 我可以想象这样的用例,谢谢。与往常一样,上下文为王——我会相应地编辑我的笔记。
  • @Mureinik:我仍然遇到这个问题。 \n 不会被解析为 jsp 页面中的换行符。当我在我的 jsp 页面上显示它时,我得到了 \n。最终我需要在一个jsp页面上显示。
  • @ChandanDN 如果打印到 JSP 是问题(顺便说一句:为什么 OP 中没有提到),您需要一个 HTML 换行符 - 只需使用 <br/> 而不是 \n。跨度>
  • 我也试过放
    。仍然
    没有被解析为换行符。我正在尝试从数据库中检索日语内容并显示。日文内容(utf-8 格式)是否有问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-22
  • 2017-01-28
相关资源
最近更新 更多