下面这段语句从SqlDataSource3中提不到数据,看还少什么?QueryStringParameter code_id1 = new QueryStringParameter("code_id", TypeCode.String, "code_id");//上一页传过来的
                code_id1.Direction = ParameterDirection.Output;
                string jsdw = "", jldw = "", structure = "", xc_zj = "", xkzh = "";
                decimal builder = 0;//定义变量
                SqlDataSource SqlDataSource3 = new SqlDataSource();
                SqlDataSource3.ConnectionString = "Data Source=SERVER2;Initial Catalog=anjz;Integrated Security=True";//连接数据库
                SqlDataSource3.SelectCommand = "SELECT jsdw,jldw,build_s,structure,xc_zj,xkzh INTO @jsdw,@jldw,@builder,@structure,@xc_zj,@xkzh FROM aqrk_sb WHERE code_id = @code_id1";//这句有没有问题?
                   下面是否少什么?                SqlDataSource1.InsertParameters.Add("jsdw", TypeCode.String,jsdw.ToString());//这句没问题
                SqlDataSource1.InsertParameters.Add("jldw", TypeCode.String, jldw.ToString());
                SqlDataSource1.InsertParameters.Add("builder", TypeCode.Int32, builder.ToString());
                SqlDataSource1.InsertParameters.Add("structure", TypeCode.String, structure.ToString());
                SqlDataSource1.InsertParameters.Add("xc_zj", TypeCode.String, xc_zj.ToString());
                SqlDataSource1.InsertParameters.Add("xkzh", TypeCode.String, xkzh.ToString());

解决方案 »

  1.   

    那个SqlDataSource1.InsertParameters.Add("builder", TypeCode.Int32, builder.ToString()); 里的参数明前是不是要加@?
      

  2.   

    QueryStringParameter code_id1 = new QueryStringParameter("code_id", TypeCode.String, "code_id");//上一页传过来的 
                    code_id1.Direction = ParameterDirection.Output; 
                    string jsdw = "我爱人人,人人爱我", jldw = "我爱人人,人人爱我", structure = "我爱人人,人人爱我", xc_zj = "我爱人人,人人爱我", xkzh = "我爱人人,人人爱我"; 
                    decimal builder = 20000;//定义变量 SqlDataSource1.InsertParameters.Add("jsdw", TypeCode.String,jsdw.ToString());//这句没问题 
                    SqlDataSource1.InsertParameters.Add("jldw", TypeCode.String, jldw.ToString()); 
                    SqlDataSource1.InsertParameters.Add("builder", TypeCode.Int32, builder.ToString()); 
                    SqlDataSource1.InsertParameters.Add("structure", TypeCode.String, structure.ToString()); 
                    SqlDataSource1.InsertParameters.Add("xc_zj", TypeCode.String, xc_zj.ToString()); 
                    SqlDataSource1.InsertParameters.Add("xkzh", TypeCode.String, xkzh.ToString());我用这试过,没问题。所以1楼说的问题不存在。
      

  3.   

       SqlDataSource3.SelectCommand = "SELECT jsdw,jldw,build_s,structure,xc_zj,xkzh INTO @jsdw,@jldw,@builder,@structure,@xc_zj,@xkzh FROM aqrk_sb WHERE code_id = @code_id1";//这句有没有问题?   这句话貌似没问题
     后面的有点问题
     SqlDataSource1.InsertParameters.Add("jsdw", TypeCode.String,jsdw.ToString());//这句没问题 
                    SqlDataSource1.InsertParameters.Add("jldw", TypeCode.String, jldw.ToString()); 
                    SqlDataSource1.InsertParameters.Add("builder", TypeCode.Int32, builder.ToString()); 
                    SqlDataSource1.InsertParameters.Add("structure", TypeCode.String, structure.ToString()); 
                    SqlDataSource1.InsertParameters.Add("xc_zj", TypeCode.String, xc_zj.ToString()); 
                    SqlDataSource1.InsertParameters.Add("xkzh", TypeCode.String, xkzh.ToString());SqlDataSource1它重何而来..晕
     SQLCOMMAND对象一个不就够了么,晕..
      

  4.   

    code_id1是不是也要SqlDataSource1.InsertParameters.Add(?我没像你这样用过……
      

  5.   

    各位,我没交代清楚,现在重说一下:
    我有一个Web界面,上面有二个 SqlDataSource,分别为 SqlDataSource1 和 SqlDataSource3
    现从 SqlDataSource3 中取数据,取数据的依据是根据上一面传下来的QueryStringParameter code_id1,
    从而有这一句:SqlDataSource3.SelectCommand = "SELECT jsdw,jldw,build_s,structure,xc_zj,xkzh INTO @jsdw,@jldw,@builder,@structure,@xc_zj,@xkzh FROM aqrk_sb WHERE code_id = @code_id1";取出来后,插入到SqlDataSource1中去。现插入是没有问题的,我试过了。就是取出来有问题。也没有提示,就是没结果。"SELECT xxxx INTO @xxxx FROM aqrk_sb WHERE code_id = @code_id1"这样要取出来再赋给变量的句子不多见,一般都是这样的句子:
    "SELECT * FROM aqrk_sb WHERE code_id = @code_id1";我找不到这样例子,所以来问大家,这下明的了吧?
      

  6.   

    你写得也太乱了
    select into 有两种用法
    如果要赋值,就写在存储过程里
    declare @a varchar(500)
    SELECT xxxx INTO @a FROM aqrk_sb WHERE code_id = @code_id1
    代表取值赋给变量,然后程序去调用这个存储过程取值而写成sql语句SELECT xxxx,...
    INTO tableA
    FROM aqrk_sb
    代表从表里取行插入到另一个表tableA里SELECT jsdw,jldw,build_s,structure,xc_zj,xkzh INTO @jsdw,@jldw,@builder,@structure,@xc_zj,@xkzh FROM aqrk_sb WHERE code_id = @code_id1 
    这种写法好像存储过程也好,查询分析器里写成sql语句也好都通不过
    QueryStringParameter code_id1 = new QueryStringParameter("code_id", TypeCode.String, "code_id");//上一页传过来的 
                    code_id1.Direction = ParameterDirection.Output; 
                    string jsdw = "我爱人人,人人爱我", jldw = "我爱人人,人人爱我", structure = "我爱人人,人人爱我", xc_zj = "我爱人人,人人爱我", xkzh = "我爱人人,人人爱我"; 
                    decimal builder = 20000;//定义变量 SqlDataSource1.InsertParameters.Add("jsdw", TypeCode.String,jsdw.ToString());//这句没问题 
                    SqlDataSource1.InsertParameters.Add("jldw", TypeCode.String, jldw.ToString()); 
                    SqlDataSource1.InsertParameters.Add("builder", TypeCode.Int32, builder.ToString()); 
                    SqlDataSource1.InsertParameters.Add("structure", TypeCode.String, structure.ToString()); 
                    SqlDataSource1.InsertParameters.Add("xc_zj", TypeCode.String, xc_zj.ToString()); 
                    SqlDataSource1.InsertParameters.Add("xkzh", TypeCode.String, xkzh.ToString()); 我用这试过,没问题。所以1楼说的问题不存在。code_id1 既然是where里的条件,干嘛要定义为ParameterDirection.Output 输出参数?既然是要into @jsdw,先不说语法,意思是想赋值,那为什么还要string jsdw = "我爱人人,人人爱我"后SqlDataSource1.InsertParameters.Add("jldw", TypeCode.String, jldw.ToString()) 传值?也许我没理解lz的意思,也许我sql不过关,此外,既然sqldatasource3有数据了,而且也没看你要后期过滤,为什么还要把数据赋给sqldatasource1?把练到sqldatasource1的控件的datasource改成sqldatasource3不久可以了反正。。我没看懂。。
      

  7.   

    7楼,你没理解我的做法。
    各位:这么说吧
    SqlDataSource3.SelectCommand = "SELECT jsdw,jldw,build_s,structure,xc_zj,xkzh INTO @jsdw,@jldw,@builder,@structure,@xc_zj,@xkzh FROM aqrk_sb WHERE code_id = @code_id1";
    我要把数据从表aqrk_sb中根据条件WHERE code_id = @code_id1 取jsdw,jldw,build_s,structure,xc_zj,xkzh 的值给
    @jsdw,@jldw,@builder,@structure,@xc_zj,@xkzh 有没有错?
    如果不行,应该怎么写?