近日在作新闻的后台管理系统,在将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 &"<"
Case ">" : coder = coder &">"
Case "&" : coder = coder &"&"
Case chr(9) : coder = coder &" "
Case VBCrLf : coder = coder &"<br>"
Case chr(32) : coder = coder &" "
Case chr(34) : coder = coder &"""
Case chr(39) : coder = coder &"'"
Case Else : coder = coder & mid(str,i,1)
End Select
Next
End Function
content=request("content")'正文
content=replace(content," "," ") '此处处理是因为修改页面所加入空格会被转化为 ,在此先过滤
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) '经过此处处理,可显示出正确的段落格式
%>
上面使我遇到的一些问题,希望你遇到时注意一下也许能为你剩不少麻烦.