我有一个access的数据库,其中存放了一些从网上采集的网址(用动易系统采集的,数据库也是动易生成的,我无法知道它是怎么把这些数据存入数据的),比如 “<img src="http://www.mathtool.cn/images/123.gif" ”,在网页上显示如上,但查看源码会发现“<”显示为“&lt;”,这样网页上只能显示,无法成为链接。我并希望它存在数据中就是“<img src="http://www.mathtool.cn/images/123.gif" ”的形式,但程序运行后并没有把“&lt;”改为“<”,用文本框绑定数据查看,好象个修改成功,但回到动易系统后就发现“<”其实还是被存为了“&lt;”。下面是我的代码:
Public Sub changelink()    Dim strTitle As String
    Dim strContent As String
    Dim ret
    
    objRst.Close
    objCon.Close
    Set objRst = Nothing
    Set objCon = Nothing
    objCon.Open strConStr
    objRst.Open "PE_Article", objCon, adOpenDynamic, adLockOptimistic
    objRst.MoveFirst    Do While Not objRst.EOF
        strTitle = objRst("title").Value
        strContent = StrConv(objRst("content").Value, vbFromUnicode)
        Form1.Text1.Text = strTitle
        Form1.Text2.Text = strContent
        If Len(strContent) < 300 Then
            If InStr(1, strContent, "&lt;", vbTextCompare) <> 0 Then
                strTitle = "find the data!the id is " + Str(objRst("ArticleID").Value) + vbCrLf + "do you want change the data?"
                ret = MsgBox(strTitle, vbOKCancel)
                If ret = vbOK Then
                    strContent = Replace(strContent, "&lt;", "<", 1, -1, vbTextCompare)
                    Form1.Text2.Text = strContent
                    objRst("content").Value = strContent
                    objRst.Update
                End If
            End If
        End If
        objRst.MoveNext
    Loop
    MsgBox "complete!"
End Sub
各位大虾帮忙看看是怎么回事?

解决方案 »

  1.   

    大概是系统强行将“<”转换成了&lt;
      

  2.   

    你的问题是:如何将数据库中的“&lt;”转化为“<”? 
    你的代码不就是“&lt;”转化为“<”吗? 
    你想问什么?
      

  3.   


    怎么不用一个语句搞定啊update table set sss=replace(sss,"&lt;","<")
      

  4.   

    数据库中存放的是“&lt;”,显示在网页中是"<",但我希望是真正的代码,即“<”,否则生成的网页中也只能显示地址,不能产生链接
      

  5.   

    用查询是因为并不是每条记录都记录的是地址,有些是其它网页代码。程序执行后用文本框绑定数据后显示的也是“<”,但就是生成的网页中变成了“&lt“ (奇怪的是大概有10多条记录成功了,但更多的记录没有效果),但动易的代码是不公开的,我以我只能自己写代码来修改数据库的内容
      

  6.   

    数据库的字符集怎么改?在access中没有看到啊!
      

  7.   

    在网上找了一个动易的数据库修改器,和我的VB程序一样仍然找不到“&lt;”,无法完成修改。看来真的和显示的字符集有关,我access不熟,请问该怎么改?
      

  8.   

    1 先看看修改后数据库表中是否改了。不要绑定什么的,直接看 Access 库表。
    2 回到动易是什么意思?生成网页又是什么意思?是否在这个过程中改回去了?先把问题找到,再说怎么办。
      

  9.   

    1、采集来的网页代码存储在 content字段中,是备注型字段,在access中看不到。用txt控件绑定后查看是“<”符号,但用动易后台管理程序一看,显示出来是“<”,但一点“源代码”选顶,显示出来的就变成“&lt;”了。
    2、动易现在不非开源的,代码写在dll里,不可能看到它是怎么操作的,所以无法知道是在什么过程中修改的。
    3、我后期的采集自己做了定义,储存在数据中的都是网页源代码,但早期对采集规则不熟悉,采集过程把源代码忽略了,现在想改模板,这样早期的数据生成的页面就不正常了。所以我才想要在数据库中修改这部分内容。