同样是 SELECT  * FROM    Master.dbo.SYSPROCESSES WHERE   (dbid = 5) 这样一句查询进程数据,用远程连接DB然后打开SQL管理器执行这样一句话,返回70多条记录,而放在页面里边执行,却只有一条??这是为什么呢以下是我在页面上列出的代码(.NET)
+++++++++++++++++string strconn = System.Configuration.ConfigurationManager.ConnectionStrings["webwritermtk"].ConnectionString;
        SqlConnection conn = new SqlConnection(strconn);
        conn.Open();
        SqlCommand sqlcmd = new SqlCommand();
        sqlcmd.CommandTimeout = 100;
        sqlcmd.CommandText = "SELECT  * FROM    Master.dbo.SYSPROCESSES WHERE   (dbid = 5) ";
        sqlcmd.Connection = conn;
        sqlcmd.CommandType = CommandType.Text;
        SqlDataAdapter adp = new SqlDataAdapter(sqlcmd);
        DataTable dt = new DataTable();
        adp.Fill(dt);
        common.print(dt);//这句是个方法,列出DataTable中的内容,在此不再列出了。
        dt.Dispose();
        conn.Close();
        conn.Dispose();
++++++++++++++++++
是不是要哪里设置?

解决方案 »

  1.   

    这个应该是你代码问题,是不是页面显示的那条是你查询出的第一条,在页面调用信息的时候要用循环来一条一条调用出来, DataTable dt   dt 应该是数组形式的!看看.NET有没有调用的方法!
      

  2.   

    怎么叫DataTable是数组形式的?就是一个Datatable啊。
      

  3.   

    代码能有什么问题呀,如果语句是select * from t1这样的,就会把t1中的所有记录给列出来的,而且不分页。
      

  4.   

    DataTable dt = new DataTable();
    这个存放的应该是一个记录集, common.print(dt) 这样是不是只打印了一次,试试用循环,按dt的长度来做,.NET不是很清楚,JAVA里倒是用循环来取记录集里的记录。
      

  5.   

    记录集1.置连接 (数据库连接1)记录集1.打开 (“select * from seata where 日期 = '2005-09-09'”, #SQL语句)记录集1.到首记录 ().判断循环首 (记录集1.到下一条 ())记录集1.读日期时间 (1, 日期)输出调试文本 (日期).判断循环尾 ()记录集1.关闭()
    肯定是要用到循环的,因为SQL语句查询出来的不是固定的一条记录,是一个集合形式的,要循环来取!
      

  6.   

    老兄,common.print(dt);这个方法是一下列出所有记录的。你说的那种方法是ASP里边的,老了。
      

  7.   

    应该是权限问题,lz web中使用的uid的权限应该是只能返回自己session的信息,试试查询分析器中也使用这个用户登录,应该也返回一条,或者都用sa登录那就应都返回70多条.
      

  8.   

    我不是用sa登录,但登录的用户是拥有db_owner的权限。
    但同样,web的方式我也已经赋予了足够权限,在master上也有读写权限, 可怎么就读不出呢,郁闷。
      

  9.   

    sys.sysprocesses 
    如果用户对服务器具有 VIEW SERVER STATE 权限,则该用户可查看 SQL Server 实例中所有正在执行的会话;否则,该用户只能查看当前会话。
    -----------来自微软msdn
      

  10.   

    谢谢啊,我正在找这个语句的用法,但都无效。
    比如
    Grant VIEW SERVER STATE to jasonmeng
    Grant VIEW SERVER STATE to flashgroup\jasonmeng前一个提示找不到用户名,后一个提示语法错误。
    【注:我们的登录名都是在域里边,完全的用户名是加域的】