日期:2009-11-03  浏览次数:20882 次

近日在作新闻的后台管理系统,在将access数据导入到SQL SERVER2000中,便出现了好多问题,现总结如下:

使用SQL SERVER的[导入]功能,便可将access数据转换,但要注意原来的'自增字段'需要修改,将相应字段标识修改为'是'(原来的备注字段也会自动转化为ntext).

由于新闻的添加,修改都是通过使用textarea,首先为了能保留输入内容的格式,在处理添加的页面加入

<%
Function SqlStr( data )
SqlStr = "'" & Replace( data, "'", "''" ) & "'"
End Function
Function coder(str)
Dim i
If IsNull(str) Then : coder="" : Exit Function : End If
For i = 1 to Len(str)
Select case mid(str,i,1)
Case "<" : coder = coder &"&lt;"
Case ">" : coder = coder &"&gt;"
Case "&" : coder = coder &"&amp;"
Case chr(9) : coder = coder &"&nbsp;&nbsp;"
Case VBCrLf : coder = coder &"<br>"
Case chr(32) : coder = coder &"&nbsp;"
Case chr(34) : coder = coder &"&quot;"
Case chr(39) : coder = coder &"&#39;"
Case Else : coder = coder & mid(str,i,1)
End Select
Next
End Function



content=request("content")'正文
content=replace(content,"&nbsp;"," ") '此处处理是因为修改页面所加入空格会被转化为&nbsp; ,在此先过滤
content=coder(content)



%>

在修改页面

<%

rs.Open sql, conn, adOpenStatic
content=rs("正文") '此处一定要写,倘若直接在textarea处写

'<textarea rows="7" name="t" cols="47" ><%=rs("正文") %></textarea >“则无法显示(我就被此处

'困了好久,还以为长字段不能使用ntext而只能使用text或varchar呢)

%>

在显示页面

<%

rs.Open sql, conn, adOpenStatic
content=rs("content") '一定先放到变量中,否则可能无法显示
content=replace(content,vbcrlf,"<br>"+vbcrlf) '经过此处处理,可显示出正确的段落格式

%>

上面使我遇到的一些问题,希望你遇到时注意一下也许能为你剩不少麻烦.