本帖最后由 wangxiaofeiwuqiao 于 2010-11-08 08:40:49 编辑

解决方案 »

  1.   

    这有个例子
    你参考一下
    http://www.cnblogs.com/geovindu/archive/2010/03/19/1689887.html
      

  2.   

      SqlConnection conn = new SqlConnection(connectionString);
     8         string strSql = "SQL函數名称"; //自定SQL函數
      

  3.   

    SqlConnection conn = new SqlConnection(connectionString);
     8 string strSql = "SQL函數名称"; //自定SQL函數
      

  4.   

    当我将它变成自定义函数的时候,好像sql的内容少了很多,是怎么回事?
      

  5.   

    那个函数在查询分析器里面是完全没问题的,但是我调用的时候一片空白,我怀疑是参数的问题,但是
    create function dbo.f_str(@ITEM_CODE varchar(20),@des varchar(20) ,@date_num int, @dt datetime)
    这里要写什么参数呢, 我的都是动态的
      

  6.   


    private void FileNo()
        {
            string ConnectionOledb = System.Configuration.ConfigurationManager.AppSettings["ConStringOledb"];
            OleDbConnection conn = new OleDbConnection(ConnectionOledb);
            string strSql = "f_str"; //自定SQL函數
            OleDbCommand cmd = new OleDbCommand(strSql, conn);
            cmd.CommandType = CommandType.StoredProcedure;
            //cmd.Parameters.Add("@Str", OleDbType.VarChar).Value = "ZQ3"; //輸入參數
            cmd.Parameters.Add("@ITEM_CODE", OleDbType.VarChar).Value = ""; //輸入參數
            cmd.Parameters.Add("@des", OleDbType.VarChar).Value = ""; //輸入參數
            cmd.Parameters.Add("@date_num", OleDbType.Integer).Value = 0; //輸入參數
            cmd.Parameters.Add("@dt", OleDbType.DBDate).Value = System.DateTime.Now.ToShortDateString(); //輸入參數        cmd.Parameters.Add("@returnString", OleDbType.VarChar);
            cmd.Parameters["@returnString"].Direction = ParameterDirection.ReturnValue;  //返回參數 
            try
            {
                conn.Open();
                object o = cmd.ExecuteScalar();            //this.txtAFileNO.Text = cmd.Parameters["@returnString"].Value.ToString();            //Response.Write("");
                string strq = cmd.Parameters["@returnString"].Value.ToString();
                DataSet ds = Base.GetDataSet(strq,"ds");            GridView1.DataSource = ds.Tables["ds"];
                // GridView1.DataKeyNames = new string[] { "Monday" };
                GridView1.DataBind();
            }
            catch (Exception ex)
            {
                //this.txtAFileNO.Text = ex.Message;
            }
            finally
            {
                if (!(conn.State == ConnectionState.Closed))
                {
                    conn.Close();
                }
            }
        }
      

  7.   

    用查询分析器直接运行不用写参数
    但是我要在cs页面调用,有4个参数,(@ITEM_CODE varchar(20),@des varchar(20) ,@date_num int, @dt datetime) ,
      

  8.   

    提供CommandType.StoredProcedure就可以调用存储过程了啊
    CommandType.Text就是调用表,默认
      

  9.   

    调用存储过程要加一句代码:sqlcmd.CommandText="存储过程名"; 
    添加参数一般用AddWithValue
      

  10.   

    不用转也行的,一样能参数化执行string sql = "select dbo.f_str(@ITEM_CODE, @des, @date_num, @dt)";
      

  11.   

    能否具体点
    还有
    为什么我把我帖子的内容保存为自定义函数的时候,好像
    select ITEM_CODE,des,
           max(case date_num when 0 then ltrim(to_be_fllw) else '' end) [0wk],
           max(case date_num when 0 then code else '' end) [0wk需求成品],
           max(case date_num when 1 then ltrim(to_be_fllw) else '' end) [1wk],
           max(case date_num when 1 then code else '' end) [1wk需求成品],
           max(case date_num when 2 then ltrim(to_be_fllw) else '' end) [2wk],
           max(case date_num when 2 then code else '' end) [2wk需求成品],
           max(case date_num when 3 then ltrim(to_be_fllw) else '' end) [3wk],
           max(case date_num when 3 then code else '' end) [3wk需求成品],
           max(case date_num when 4 then ltrim(to_be_fllw) else '' end) [4wk],
           max(case date_num when 4 then code else '' end) [4wk需求成品],
           max(case date_num when 5 then ltrim(to_be_fllw) else '' end) [5wk],
           max(case date_num when 5 then code else '' end) [5wk需求成品],
           max(case date_num when 6 then ltrim(to_be_fllw) else '' end) [6wk],
           max(case date_num when 6 then code else '' end) [6wk需求成品],
           max(case date_num when 7 then ltrim(to_be_fllw) else '' end) [7wk],
           max(case date_num when 7 then code else '' end) [7wk需求成品],
           max(case date_num when 8 then ltrim(to_be_fllw) else '' end) [8wk],
           max(case date_num when 8 then code else '' end) [8wk需求成品],
           max(case date_num when 9 then ltrim(to_be_fllw) else '' end) [9wk],
           max(case date_num when 9 then code else '' end) [9wk需求成品],
           max(case date_num when 10 then ltrim(to_be_fllw) else '' end) [10wk],
           max(case date_num when 10 then code else '' end) [10wk需求成品],
           max(case date_num when 11 then ltrim(to_be_fllw) else '' end) [11wk],
           max(case date_num when 11 then code else '' end) [11wk需求成品],
           max(case date_num when 12 then ltrim(to_be_fllw) else '' end) [12wk],
           max(case date_num when 12 then code else '' end) [12wk需求成品]
    from
    (这部分的东西都不见了