cmm.CommandText="test"
改成
cmm.CommandText="exec test"  

解决方案 »

  1.   

    好的我将详细的列出来吧。朋友们一定要帮我解决呀,我知道一定可以的。
    create Table BBS(UserID int not null,Announcement text not null default(''))
    go
    --插入记录的sp是
    CREATE PROCEDURE [NewBBS] 
    @intUserID int ,
    @txtAnnouncement text
    AS
    if not exists(select userID from BBS where UserID=@intUserID)
    insert into BBS values(@intUserID,@txtAnnouncement)
    GO调用 该存储过程 的asp程序是
    <%
    'on error resume next
    if request.serverVariables("REQUEST_METHOD")="POST" THEN %>
    <!-- #include file="adovbs.inc" -->
    <%
    set cmm=server.createObject("adodb.command")
    set cnn=server.createobject("adodb.connection")
    cnn.open "driver=sql server;server=david;user ID=sa;password=;Initial Catalog=netmanager"
    cmm.commandText="NewBBs"
    cmm.CommandType=adCmdStoredproc
    cmm.activeConnection=cnn
    userID=request.form("txtUserID")Announcement=request.form("txtAnnouncement")
    cmm.parameters.append cmm.createParameter("@intUserID",adInteger,adparamInput,,UserID)
    cmm.parameters.append cmm.createParameter("@txtAnnouncement",adVarchar,adparamInput,,Announcement)
    cmm.execute
    set cmm.activeConnection=nothing
    set cnn=nothing 
    if err.number<>0 then response.write err.description:response.end 
    end if 
    %>
    <form method=post>
    UserID:<input type=text name=txtUserID size=10>
    <br>
    Comment:<br>
    <textarea rows=20 cols=70 name=txtAnnouncement></textarea>
    <input type=submit value="submit">
    </form>
    我现在要将 <textarea rows=20 cols=70 name=txtAnnouncement></textarea>
    的text内容(超长字符存储到BBS的Announcement表中
    有什么方法呢?
    万分感谢 
      

  2.   

    to:icevi(按钮工厂) 
    谢谢了,我等你的消息哟
      

  3.   

    存储过程改为:
    CREATE PROCEDURE [NewBBS] 
    @intUserID int ,
    @txtAnnouncement text
    AS
    if not exists(select userID from BBS where UserID=@intUserID)
    insert into BBS values(@intUserID,'')DECLARE @ptrval binary(16)
    SELECT @ptrval = TEXTPTR(Announcement) 
    FROM bbs
    WHERE bbs.userid=@intuserid
    WRITETEXT bbs.Announcement
     @ptrval @txtAnnouncement
    GO
    ASP中
    cmm.parameters.append cmm.createParameter "@txtAnnouncement",adVarchar,adparamInput,,Announcement)
    改成:
    cmm.parameters.append cmm.createParameter("@txtAnnouncement",adVarchar,adparamInput,len(Announcement),Announcement)试试?
      

  4.   

    谢谢你呀。
    存储过程这边是好了。
    可是调用 asp时不能传递超过 8000的字符cmm.parameters.append cmm.createParameter("@txtAnnouncement",adVarchar,adparamInput,len(Announcement),Announcement)
    可能是长度问题
    我记得sql 7是没有这么复杂的
    能再帮忙看看吗?
    非常感谢 
      

  5.   

    POST不应该只能处理8000字符的,我这里机器有问题,不能试,你试试看。若实在不能传递长字符串,可以考虑分段写入。
      

  6.   

    这个问题刚刚解决到,http://www.csdn.net/expert/topic/439/439365.xml?temp=.5885126不过我正在被:
    http://www.csdn.net/expert/topic/633/633044.xml?temp=.6587183
    这个所烦恼