1、dim rst as new adodb.recoredset
rst.open "select 要选择的列名 from 表名 "
从第一条记录开始变量=rst!列名循环2、when rst.eof then exit 循环3、@count=rst.recordcount

解决方案 »

  1.   

    4、top i 是取多条记录了,而你查询@IP=IP的结果记录可能不到i条
      

  2.   

    那我就问Select top @i from 表 该怎么做???(返回指定行数)
      

  3.   

    可以用游标:
    declare @IP varchar(100),...declare mIP  cursor for select IP from table1
       open mIP 
          fetch next from mIP into @IP
                 begin
                      tIP=@IP
                      ...
                 end
       close   mIP
    deallocate mIP
      

  4.   

    to  lily0000000(黑百合):
    我需要的是SQL 后台程序,你给的是VB前台啊!我可不想在前台牵涉过多的数据库问题。麻烦再帮我想想。
      

  5.   

    在SQL中也可以写类似的代码呀
      

  6.   

    那我就问Select top @i from 表 该怎么做???(返回指定行数)cn.exec('select top '+cstr(@i)+'from table')
     
     
      

  7.   

    declare @intLength as integer
    Select @intLength= count(*) from TableName
    @i 现在就是你的表的记录条数
    declare @i as integer
    While @i <= intLength
    Begin
    ...
    End
    Returen ...不过我不太明白你要做的事情,难道是取出每条记录中某个字段的值,然后...返回?
    那就用临时变量保存从记录中取出的内容
    delcare @strResult as varchar(长度)
    delcare @strTemp as varchar(长度)
    ... 循环中
    Select @strTemp=IP from tablename where ...
    Select @strResult = @strResult + ',' + @strTemp
    ... 循环
    Return @strResult要注意内容长度不要太长...语法都在这里,自己耍耍吧,并不难。
    有问题可以查看SQLServer的联机帮助文档,很丰富了。
      

  8.   

    DECLARE Employee_Cursor CURSOR FORSELECT LastName, FirstName FROM Northwind.dbo.EmployeesOPEN Employee_CursorFETCH NEXT FROM Employee_CursorWHILE @@FETCH_STATUS = 0BEGIN    FETCH NEXT FROM Employee_CursorENDCLOSE Employee_CursorDEALLOCATE Employee_Cursor