none
gridview数据源sqldatasource调用存储过程,刷新结构报错. RRS feed

  • 问题

  • 如题,
    数据源刷新结构时提示存储过程中的一个临时表无效,但是直接运行我的存储过程是没错的.
    另外,存储过程返回3个结果集,gridview会自动绑定第一个结果集吗?
    2009年2月9日 6:59

答案

  • “ 数据源刷新结构时提示存储过程中的一个临时表无效,但是直接运行我的存储过程是没错的” 听起来就是因为结果集太多了哦

    sqldata source 主要是为了单表单视图榜定存在的

    如果你想选择更复杂的绑定  可以选用 object data source
    Guitar Hero IV -- Singing Rock & Roll.
    • 已标记为答案 ITKing 2009年2月9日 8:16
    2009年2月9日 7:43

全部回复

  • “ 数据源刷新结构时提示存储过程中的一个临时表无效,但是直接运行我的存储过程是没错的” 听起来就是因为结果集太多了哦

    sqldata source 主要是为了单表单视图榜定存在的

    如果你想选择更复杂的绑定  可以选用 object data source
    Guitar Hero IV -- Singing Rock & Roll.
    • 已标记为答案 ITKing 2009年2月9日 8:16
    2009年2月9日 7:43
  • 现在显示数据正常了,但是刷新结构的时候还是刷不出字段,有办法解决吗?

    我用objectdatasource得到的是一个datatable.

    2009年2月9日 9:15
  • 韦恩大侠,能再帮忙解决一下吗?
    2009年2月10日 1:48
  • 我的建议是这样的
    你建立一个 class 文件 在里面建立一个静态方法(static c#/shared vb) 

    shared  function  getmytable(各种参数) as datatable

    end function


    在这里面  运行存储过程  并且返回第一个 table


    这时候你用  object data source  绑定这个方法   就可以显示了


    Guitar Hero IV -- Singing Rock & Roll.
    2009年2月10日 1:58
  • 您说的各种参数是什么意思呢?
    我现在就是用的一个类,里面是运行存储过程返回第一个datatable,还有什么问题吗?
    1      public DataTable GetDataSource(int userID, int GridID, string GridDaiMa, string Xmlwhere, string Language) 
    2    { 
    3        string strSQL = ""
    4        if (Xmlwhere == null) 
    5        { 
    6            strSQL = "declare @m_Ret integer execute sp_CommonCodeTableQueryTest " + userID + "," + GridID + ",'" + GridDaiMa + "',null,'" + Language + "'"; 
    7        } 
    8        else 
    9        { 
    10            strSQL = "declare @m_Ret integer execute sp_CommonCodeTableQueryTest " + userID + "," + GridID + ",'" + GridDaiMa + "',N'" + Xmlwhere + "','" + Language + "'"; 
    11        } 
    12        return wsDB.GetSqlDataSet(strSQL).Tables[0]; 
    13    } 
    14 
    15 
    16 
    17        public DataSet GetSqlDataSet(string paraSql) 
    18        { 
    19            DataSet ds = new DataSet(); 
    20 
    21            using (SqlConnection conn = new SqlConnection(conStr)) 
    22            { 
    23                SqlDataAdapter da = new SqlDataAdapter(); 
    24                SqlCommand cmd = new SqlCommand(paraSql, conn); 
    25                cmd.CommandTimeout = 100000
    26                da.SelectCommand = cmd
    27                da.MissingSchemaAction = MissingSchemaAction.AddWithKey; 
    28                da.Fill(ds); 
    29            } 
    30 
    31            return ds; 
    32        } 

    2009年2月10日 2:12