SqlDataAdapter da_bm = new SqlDataAdapter("SELECT 会考证号, 姓名,dbo.str_sum(会考证号) FROM 报名信息 GROUP BY 会考证号, 姓名", cnnDB);
        DataSet ds_bm = new DataSet();
        da_bm.Fill(ds_bm);
        GridView1.DataSource = ds_bm;
        GridView1.DataBind();红字是我带有自定义函数的SQL语句
 
可是 到da_bm.Fill(ds_bm);
她就说我访问对象失败
难道自定义函数 不能这么调用吗 知道的给我说下好吗

解决方案 »

  1.   

    dbo.str_sum()这个自定义函数可能访问不到
      

  2.   

    你是在sql里面写的函数  还是在VS里头建SQL工程 然后在建立的聚合函数?
      

  3.   

    dbo.str_sum(会考证号) 是返回一个值吗,还是一个结果集?
      

  4.   

    它就说dbo.str_sum对象名无效    服了我
      

  5.   

    你看我的SQL语句
    SELECT 会考证号, 姓名,dbo.str_sum(会考证号) FROM 报名信息 GROUP BY 会考证号, 姓名
    这肯定是个结果集呀
      

  6.   

    执行到da_bm.Fill(ds_bm);
    就说对象名无效
    可是我在数据库理都没问题 
    都能查询出来信息
      

  7.   

    Connection cnnDB 是否实例化了? 是否打开了?
      

  8.   

    不是这的问题 晕  是调用函数的问题   我换个正常的SQL语句就能打开
      

  9.   

    你的连接数据库的语句是怎么写的?是不是你在登录数据库时使用的用户名和密码,dbo修饰语是必须有数据库管理员身份的用户才能访问的,或者你把它改成你的连接字符串中的用户拥有的权限进行访问就有可能访问到你的自定义函数
      

  10.   

    "SELECT 会考证号, 姓名,"+dbo.str_sum("会考证号")+" FROM 报名信息 GROUP BY 会考证号, 姓名"
    这样呢
      

  11.   

    你在数据库中用的是不是sa 的帐号?
    而你现在程序中是不是也是用的sa登录的?
    有可能你现在的用户权限不能访问到dbo. 函数
      

  12.   


    同意,
    原因应该是,你登陆SQL是用的用户与你程序里用的不一样,没有相同权限