我search了一下在线名单,知道你还在哦!yoki(小马哥)你帮了我大忙了~~!!

解决方案 »

  1.   

    1,调用没有参数的存储过程
    <%
    set conn=server.CreateObject("adodb.connection")
    set cmd=server.CreateObject("adodb.command")
    strconn="dsn=pubs;uid=sa;pwd"conn.Open strconn
    set cmd.ActiveNonnection=conncmd.CommandText="{call nono}"''set rs=cmc.exe 或者cmd.executeset rs=cmd.Execute()%>
    2,一个输入的参数的存储过程
    <%
    set conn=server.CreateObject("adodb.connection")
    set cmd=server.CreateObject("adodb.command")
    strconn="dsn=pubs;uid=sa;pwd"conn.Open strconn
    set cmd.ActiveConnection=conncmd.CommandText="{call oneinput(?)}"
    cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger ,adParamInput )
    cmd("@aaa")=100cmd.Execute()%>
    3,一个输入参数和一个输出的参数
    <%
    set conn=server.CreateObject("adodb.connection")
    set cmd=server.CreateObject("adodb.command")
    strconn="dsn=pubs;uid=sa;pwd"conn.Open strconn
    set cmd.ActiveConnection=conncmd.CommandText = "{call oneinout(?,?)}"
    cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput)
    cmd("@aaa")=10
    cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput)cmd.Execute()bbb=cmd("@bbb")
    %>
    4,一个输入参数,一个输出参数,和一个返回值
    <%
    set conn=server.CreateObject("adodb.connection")
    set cmd=server.CreateObject("adodb.command")
    strconn="dsn=pubs;uid=sa;pwd"conn.Open strconn
    set cmd.ActiveConnection=conncmd.CommandText="{?=call onereturn(?,?)}"cmd.Parameters.Append cmd.CreateParameter("@return_value",adInteger,adParamReturnValue )
    cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput )
    cmd("@aaa")=10
    cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput)cmd.Execute()bbb=cmd("@bbb")
    rrr=cmd("@return_value")
    %>
      

  2.   

    存储过程如下:create proc 过程名 as
    begin
    select (select xingming from jiben where xuehao=a.xuehao) 学生姓名,(select kecheng from kecheng where ID=a.ID) 课程名称,fenshu into #temp from chengji a
    declare @sql varchar(8000)
    set @sql='select 学生姓名'
    select @sql=@sql+',sum(case 课程名称 when '''+课程名称+''' then fenshu else 0 end) '+课程名称 from (select distinct 课程名称 from #temp) as a
    exec(@sql+' from #temp group by 学生姓名')
    go
      

  3.   

    create proc 过程名 as
    begin
    select (select xingming from jiben where xuehao=a.xuehao) 学生姓名,(select kecheng from kecheng where ID=a.ID) 课程名称,fenshu into #temp from chengji a
    declare @sql varchar(8000)
    set @sql='select 学生姓名'
    select @sql=@sql+',sum(case 课程名称 when '''+课程名称+''' then fenshu else 0 end) '+课程名称 from (select distinct 课程名称 from #temp) as a
    exec(@sql+' from #temp group by 学生姓名')
    end
    go
      

  4.   

    你在asp里调用这个存储过程就OK了!如:<%
    set conn=server.CreateObject("adodb.connection")
    set cmd=server.CreateObject("adodb.command")
    strconn="dsn=pubs;uid=sa;pwd"conn.Open strconn
    set cmd.ActiveNonnection=conncmd.CommandText="{call 过程名}"''set rs=cmc.exe 或者cmd.executeset rs=cmd.Execute()%>
      

  5.   

    在sqlserver查询分析器里调试这个过程:exec 过程名
      

  6.   

    各位大哥,pengdali(大力) ,你热心助人,非常感激。http://expert.csdn.net/Expert/topic/1709/1709024.xml?temp=.4308435  这里我提出了问题http://expert.csdn.net/Expert/topic/1710/1710077.xml?temp=.3843958  有位大哥给了解法
    select (select 姓名 from 学生表 where 学号=a.学号) as 学生姓名,
           (select 课程名称 from 课程表 where 课程号=a.课程号) as 课程名称,
            分数
    into #temp
    from 成绩表 a declare @sql varchar(8000)
    set @sql='select 学生姓名'
    select @sql=@sql+',sum(case 课程名称 when '''+课程名称+''' then 分数 else 0 end) as '+课程名称
    from (select distinct 课程名称 from #temp) as a
    select @sql=@sql+' from #temp group by 学生姓名'
    exec(@sql)
    drop table #temp我现在想把字段名和别名区别开来,这样我才能用,因为我的数据库的字段是拼音。不是我不爱学习,也不是我懒惰,
    (select 课程名称 from 课程表 where 课程号=a.课程号) as 课程名称,
       
    select @sql=@sql+',sum(case 课程名称 when '''+课程名称+''' then 分数 else 0 end) as '+课程名称我不知道哪个是字段,哪个是别名,明白我的意思?
      

  7.   

    as 课程名称,
    as '+课程名称
    字段的别名
    递归
      

  8.   

    根据你的表结构我不是已经写出来了??你没仔细看吗?有错吗?select (select xingming from jiben where xuehao=a.xuehao) 学生姓名,(select kecheng from kecheng where ID=a.ID) 课程名称,fenshu into #temp from chengji a
    declare @sql varchar(8000)
    set @sql='select 学生姓名'
    select @sql=@sql+',sum(case 课程名称 when '''+课程名称+''' then fenshu else 0 end) '+课程名称 from (select distinct 课程名称 from #temp) as a
    exec(@sql+' from #temp group by 学生姓名')
      

  9.   

    (select 课程名称 from 课程表 where 课程号=a.课程号) as 课程名称,
            -------这个肯定是字段名                       ------------这个我知道是别名select @sql=@sql+',sum(case 课程名称 when '''+课程名称+''' then 分数 else 0 end) 
                                -------????   ?????as '+课程名称
         --------??
    from (select distinct 课程名称 from #temp) as a
                          -------???大哥,不如把字段名写成拼音,别名写成“课程课程”
    行不?
      

  10.   

    Microsoft VBScript 编译器错误 (0x800A03FD)
    /asp/xsgl/quest4.asp, 第 46 行, 第 7 列
    select (select xingming from jiben where xuehao=a.xuehao) 学生姓名,(select kecheng from kecheng where ID=a.ID) 课程名称,fenshu into #temp from chengji a
    ---------------------------------------------------------------------^
      

  11.   

    ?.xuehao=a.xuehao
    ???????????????????????.ID=a.id
      

  12.   

    select (select xingming from jiben where xuehao=a.xuehao) 学生姓名,(select kecheng from kecheng where ID=a.ID) 课程名称,fenshu into #temp from chengji a
    declare @sql varchar(8000)
    set @sql='select 学生姓名'
    select @sql=@sql+',sum(case 课程名称 when '''+课程名称+''' then fenshu else 0 end) '+课程名称 from (select distinct 课程名称 from #temp) as a
    set rs=newconn.execute(@sql+' from #temp group by 学生姓名')看看是什么原因引起的错误?
      

  13.   

    修改如下:
    select (select xingming from jiben where xuehao=a.xuehao) as 学生姓名,
           (select kecheng from kecheng where ID=a.ID) as 课程名称,
            fenshu
    into #temp
    from chengji a declare @sql varchar(8000)
    set @sql='select 学生姓名'
    select @sql=@sql+',sum(case 课程名称 when '''+课程名称+''' then 分数 else 0 end) as '+课程名称
    from (select distinct 课程名称 from #temp) as a
    select @sql=@sql+' from #temp group by 学生姓名'
    exec(@sql)
    drop table #temp
      

  14.   

    select (select xingming from jiben where xuehao=a.xuehao) xingming,(select kecheng from kecheng where ID=a.ID) kecheng,fenshu into #temp from chengji a
    declare @sql varchar(8000)
    set @sql='select xingming'
    select @sql=@sql+',sum(case kecheng when '''+kecheng+''' then fenshu else 0 end) '+kecheng from (select distinct kecheng from #temp) as a
    exec(@sql+' from #temp group by xingming')
      

  15.   

    还不行:select (select xingming from jiben where xuehao=chengji.xuehao) xingming,(select kecheng from kecheng where ID=chengji.ID) kecheng,fenshu into #temp from chengji
    declare @sql varchar(8000)
    set @sql='select xingming'
    select @sql=@sql+',sum(case kecheng when '''+kecheng+''' then fenshu else 0 end) '+kecheng 
    from (select distinct kecheng from #temp) as aexec(@sql+' from #temp group by xingming')
      

  16.   

    select (select xingming from jiben where jiben.xuehao=a.xuehao) as 学生姓名,
           (select kecheng from kecheng where kecheng.ID=a.ID) as 课程名称,
            fenshu
    into #temp
    from chengji a declare @sql varchar(8000)
    set @sql='select 学生姓名'
    select @sql=@sql+',sum(case 课程名称 when '''+课程名称+''' then 分数 else 0 end) as '+课程名称
    from (select distinct 课程名称 from #temp) as a
    select @sql=@sql+' from #temp group by 学生姓名'
    set rs=newconn.execute(@sql)
    drop table #temp
    错误:
    Microsoft VBScript 编译器错误 (0x800A03FD)
    /asp/xsgl/quest4.asp, 第 46 行, 第 7 列
    select (select xingming from jiben where jiben.xuehao=a.xuehao) as 学生姓名,
    ----------------------------------------------^
      

  17.   

    还不行:select b.xingming,c.kecheng,a.fenshu into #temp from chengji a join jiben b on a.xuehao=b.xuehao join kecheng c on a.id=c.iddeclare @sql varchar(8000)
    set @sql='select xingming'
    select @sql=@sql+',sum(case kecheng when '''+kecheng+''' then fenshu else 0 end) '+kecheng 
    from (select distinct kecheng from #temp) as aexec(@sql+' from #temp group by xingming')
      

  18.   

    asp不支持中文明的么?那就全换成英文试试
      

  19.   

    修改如下:
    select (select xingming from jiben where xuehao=a.xuehao) as S_NAME,
           (select kecheng from kecheng where ID=a.ID) as C_NAME,
            fenshu
    into #temp
    from chengji a declare @sql varchar(8000)
    set @sql='select S_NAME'
    select @sql=@sql+',sum(case A when '''+C_NAME+''' then fenshu else 0 end) as '+C_NAME
    from (select distinct C_NAME from #temp) as a
    select @sql=@sql+' from #temp group by S_NAME'
    exec(@sql)
    drop table #temp
      

  20.   

    pengdali(大力) 你的所有方法我都测试过了!不行!这么说吧,我的这部分是独立出来的,除了我要加个 set rs=newconn.execute你们可以帮我出出主意,看是什么问题。我试试yoki(小马哥) 的方法!
      

  21.   

    Microsoft VBScript 编译器错误 (0x800A03FD)
    /asp/xsgl/quest4.asp, 第 43 行, 第 7 列
    select (select xingming from jiben where xuehao=a.xuehao) as S_NAME,(select kecheng from kecheng where ID=a.ID) as C_NAME,fenshu into #temp from chengji a
    ----------------------------------------------------------------------^
      

  22.   

    各位大哥,少加了一个条件!!jiben.banhao='"&banji&"'我要查我们班的学生成绩:P
      

  23.   

    你看看这个可以不,vb的写法,估计和asp差不多,我没学过asp
        Dim strSql As String
        strSql = " select (select xingming from jiben where xuehao=a.xuehao) as S_NAME,"
        strSql = strSql + " (select kecheng from kecheng where ID=a.ID) as C_NAME,fenshu"
        strSql = strSql + " into #temp from chengji a"
        strSql = strSql + " declare @sql varchar(8000)"
        strSql = strSql + " set @sql='select S_NAME'"
        strSql = strSql + " select @sql=@sql+',sum(case A when '''+C_NAME+''' then fenshu else 0 end) as '+C_NAME"
        strSql = strSql + " from (select distinct C_NAME from #temp) as a"
        strSql = strSql + " select @sql=@sql+' from #temp group by S_NAME'"
        Set rs = newconn.Execute(strSql)
        newconn.Execute " drop table #temp"
      

  24.   

    select (select xingming from jiben where xuehao=a.xuehao) as S_NAME,
           (select kecheng from kecheng where ID=a.ID) as C_NAME,
            fenshu
    into #temp
    from chengji a 
    where banhao='你输入的班号'declare @sql varchar(8000)
    set @sql='select S_NAME'
    select @sql=@sql+',sum(case A when '''+C_NAME+''' then fenshu else 0 end) as '+C_NAME
    from (select distinct C_NAME from #temp) as a
    select @sql=@sql+' from #temp group by S_NAME'
    exec(@sql)
    drop table #temp
      

  25.   

    Dim strSql
        strSql = " select (select xingming from jiben where xuehao=a.xuehao) as S_NAME,"
        strSql = strSql + " (select kecheng from kecheng where ID=a.ID) as C_NAME,fenshu"
        strSql = strSql + " into #temp from chengji a"
        strSql = strSql + " declare @sql varchar(8000)"
        strSql = strSql + " set @sql='select S_NAME'"
        strSql = strSql + " select @sql=@sql+',sum(case A when '''+C_NAME+''' then fenshu else 0 end) as '+C_NAME"
        strSql = strSql + " from (select distinct C_NAME from #temp) as a"
        strSql = strSql + " select @sql=@sql+' from #temp group by S_NAME'"
        response.Write strSql
    ' Set rs=newconn.Execute(strSql)
     '   newconn.Execute " drop table #temp"response.Write("ok")执行结果:
    here select (select xingming from jiben where xuehao=a.xuehao) as S_NAME, (select kecheng from kecheng where ID=a.ID) as C_NAME,fenshu into #temp from chengji a declare @sql varchar(8000) set @sql='select S_NAME' select @sql=@sql+',sum(case A when '''+C_NAME+''' then fenshu else 0 end) as '+C_NAME from (select distinct C_NAME from #temp) as a select @sql=@sql+' from #temp group by S_NAME'ok 
    Set rs=newconn.Execute(strSql)错误。类型:同上
      

  26.   

    declare @sql varchar(8000) 
    这个都在strsql里面,如何执行??
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    /asp/xsgl/quest4.asp, 第 53 行应该都是select 什么的语句吧。。
      

  27.   

    sql="select * into #temp from chengji"
    newconn.execute(sql)
    newconn.execute("drop table #temp")中间一句报错。。
      

  28.   

    再试试这个,再解决不了就没办法了
    declare @sql varchar(8000)
    set @sql='select S_NAME'
    select @sql=@sql+',sum(case A when '''+C_NAME+''' then fenshu else 0 end) as '+C_NAME
    from (select distinct C_NAME from (select (select xingming from jiben where xuehao=a.xuehao) as S_NAME,
           (select kecheng from kecheng where ID=a.ID) as C_NAME,
            fenshu
    from chengji a 
    where banhao='你输入的班号')t) as a
    select @sql=@sql+' from (select (select xingming from jiben where xuehao=a.xuehao) as S_NAME,
           (select kecheng from kecheng where ID=a.ID) as C_NAME,
            fenshu
    from chengji a 
    where banhao=你输入的班号)t group by S_NAME'
    exec(@sql)
      

  29.   

    asp不认识你的这些东西:declare @sql varchar(8000)
    @sql 我回来慢慢研究,要吃饭去了,sql=""  不能用' ' 
    郁闷中
      

  30.   

    有分,请关注
    http://expert.csdn.net/Expert/topic/1711/1711580.xml?temp=9.481448E-02
    这个问题。问题解决了,这100分就是你的。
      

  31.   

    http://expert.csdn.net/Expert/topic/1733/1733946.xml?temp=.6374475