近日在作新闻的后台管理系统,在将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) '经过此处处理,可显示出正确的段落格式
%>
上面使我遇到的一些问题,希望你遇到时注意一下也许能为你剩不少麻烦. 
|