怎样设置从数据库Text字段取出的文本格式

wydily 2003-03-26 02:43:52
让用户通过Textbox输入无限定个数的文本,插入数据库Text字段中,再取出显示,但所有文字都在一行,或者紧密排列,我想让文本有段落,缩进等,就像我们写的文章一样有格式,
该怎么做呢,具体一点,有例子吗?
...全文
200 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
wydily 2003-03-27
  • 打赏
  • 举报
回复
To:liudodo
多谢你的帮助,以后我会努力学习的
liudodo 2003-03-26
  • 打赏
  • 举报
回复
I服了YOU
string strd1="select ID,参考内容,细内容 from GSP where ID="+aa;

从数据库取出来后再用那个函数转换

你第一次写程序吗?

wydily 2003-03-26
  • 打赏
  • 举报
回复
To:liudodo

按照你的方法:
public string inStr(string oldStr)
{
oldStr=oldStr.Replace("'","''");
oldStr=oldStr.Replace("<","<");
oldStr=oldStr.Replace(">",">");
oldStr=oldStr.Replace("\n","<br>");
oldStr=oldStr.Replace("\t","    ");
oldStr=oldStr.Replace("\"",""");
return oldStr;
}
string strd1="select '"+inStr(ID)+"','"+inStr(参考内容)+"','"+inStr(详细内容)+" from GSP where ID="+aa;
....................
//其中ID,参考内容,详细内容为字段,
提示他们不存在

liudodo 2003-03-26
  • 打赏
  • 举报
回复
就是上面的代码,写得很清楚了,

如果用户不间断地输入英文字符,显示的时候就都在一行,且会把页面撑宽,该怎么办呢?

你固定表格宽度就会自动换行!!
wydily 2003-03-26
  • 打赏
  • 举报
回复
To:liudodo
怎么加,给个代码,非常感谢!
liudodo 2003-03-26
  • 打赏
  • 举报
回复
2:我copy一篇文章直接paste到text字段,显示的时候能不能加上格式呢?

当然可以
wydily 2003-03-26
  • 打赏
  • 举报
回复
明白了,
最后问个问题:
如果用户不间断地输入英文字符,显示的时候就都在一行,且会把页面撑宽,该怎么办呢?
麻烦各位了?
zwp315 2003-03-26
  • 打赏
  • 举报
回复
2:我copy一篇文章直接paste到text字段,显示的时候能不能加上格式呢?
---------------------
可以吧,
yohomonkey 2003-03-26
  • 打赏
  • 举报
回复
设置你的textbox为多行,就可以了!
因为你的数据库使用的是text,会自动把格式转换!
zwp315 2003-03-26
  • 打赏
  • 举报
回复
有2种方法:

1。在写到数据库前进行字符格式化(即一般是空格和会车的替换),那么在取出显示,直接输出就行了


2。在写到数据库什么也不做,直接存入,然后再取出显示进行字符格式化(即一般是空格和会车的替换),(建议这么做好)

: liudodo(天生我才必有用) 给你提供了方法
wydily 2003-03-26
  • 打赏
  • 举报
回复
To:liudodo
这个我明白,再问一下:
1:如果用户在输入的时候不击回车,依靠自动换行输入,那显示是时候怎么办呢?
2:我copy一篇文章直接paste到text字段,显示的时候能不能加上格式呢?
liudodo 2003-03-26
  • 打赏
  • 举报
回复
写一个函数
public string inStr(string oldStr)
{
oldStr=oldStr.Replace("'","''");
oldStr=oldStr.Replace("<","<");
oldStr=oldStr.Replace(">",">");
oldStr=oldStr.Replace("\n","<br>");
oldStr=oldStr.Replace("\t","    ");
oldStr=oldStr.Replace("\"",""");
return oldStr;
}
然后:


string strint="insert into content values('"+inStr(contitle.Text.ToString())+"','"+inStr(contcn.Text.ToString()).....

sqlconn=new SqlConnection(Application["conn"].ToString());
SqlCommand sqlcmd=new SqlCommand(strint,sqlconn);
sqlconn.Open();
SqlDataReader sqldr;
sqldr=sqlcmd.ExecuteReader();

sqlconn.Close();
我是这样做的
贝贝壳壳 2003-03-26
  • 打赏
  • 举报
回复
把你的
contcn.Text.ToString() 用上面的方法替换。
应该是contcn表示那个TEXT字段里的东西吧?
wydily 2003-03-26
  • 打赏
  • 举报
回复
To:liudodo

string strint="insert into content values('"+contitle.Text.ToString()+"','"+contcn.Text.ToString()+"','"+Application["name"].ToString()+"','"+System.DateTime.Now.ToShortDateString()+" "+System.DateTime.Now.ToShortTimeString()+"','天成','"+Request.QueryString["本级"].Trim()+"','"+(Convert.ToInt32(Application["str1"])+1)+"','"+Application["tree"].ToString()+"')";
//格式:
strint=strint.Replace("<","<");
strint=strint.Replace(">",">");
strint=strint.Replace("\n","<br>");
strint=strint.Replace("\t","    ");
strint=strint.Replace("\"",""");

sqlconn=new SqlConnection(Application["conn"].ToString());
SqlCommand sqlcmd=new SqlCommand(strint,sqlconn);
sqlconn.Open();
SqlDataReader sqldr;
sqldr=sqlcmd.ExecuteReader();

sqlconn.Close();
是这样吗?
liudodo 2003-03-26
  • 打赏
  • 举报
回复
那你可以再数据传入数据库之前运行这段代码,就行了
liudodo 2003-03-26
  • 打赏
  • 举报
回复
oldStr就是你从数据库中取出的string,运行上面的代码后,在页面上显示就行了
wydily 2003-03-26
  • 打赏
  • 举报
回复
To;fupip
不好意思,我是用DataList绑定的
<asp:DataList id="itemlist" runat="server" Width="100%" Font-Size="9pt" CellPadding="0">
<ItemTemplate>
<table width="100%" style="FONT-SIZE: 9pt" border="0" cellpadding="0" cellspacing="0">
<tr bgcolor="#c0c0ff" bordercolor="teal">
<td align="left">回复人:<%# DataBinder.Eval(Container.DataItem,"作者") %></td>
<td align="right">回复时间:<%# DataBinder.Eval(Container.DataItem,"时间","{0:yyyy-M-dd HH:mm}") %></td>
</tr>
<tr>
<td>主题:<%# DataBinder.Eval(Container.DataItem,"标题") %></td>
</tr>
<tr>
<td align="left">内容:</td>
</tr>
<tr width="500px">
<td align="center"><%# DataBinder.Eval(Container.DataItem,"内容") %></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>

你看怎么办呢?
贝贝壳壳 2003-03-26
  • 打赏
  • 举报
回复
在取出来显示到网页上的时候 。
wydily 2003-03-26
  • 打赏
  • 举报
回复
To:fupip
To:liudodo
这段代码用在那里呢,是写入时,还是显示
实在是没有用过,请详细说明,先谢了,
liudodo 2003-03-26
  • 打赏
  • 举报
回复
oldStr=oldStr.Replace("<","<");
oldStr=oldStr.Replace(">",">");
oldStr=oldStr.Replace("\n","<br>");
oldStr=oldStr.Replace("\t","    ");
oldStr=oldStr.Replace("\"",""");
加载更多回复(1)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧