请问我在DATAGRID的链接列里面URL查询字符串设置这样:
shenyue_detail.aspx?f_value={0}&f_company="+this.DropDownList1 .SelectedItem .Text.ToString ()+"&f_year="+this.DropDownList2 .SelectedItem .Text.ToString()+"&f_month="+this.DropDownList3 .SelectedItem .Text.ToString()+"其中f_year,f_month是decimal类型的
在shenyue_detail.aspx页中
            string x=this.Request .QueryString ["f_value"].ToString ();
   string y=this.Request .QueryString ["f_company"].ToString ();
   string z=this.Request .QueryString ["f_year"].ToString ();
            string q=this.Request .QueryString ["f_month"].ToString ();
string conn1,command;
conn1 =" Persist Security Info = False ;  User ID = libin ; Initial Catalog = changchun ; Data Source =localhost";
SqlConnection newconn = new SqlConnection(conn1);
newconn.Open ();
command = "SELECT * FROM "+x+" WHERE f_company='y' AND f_year='"+Convert.ToDecimal (z)+"' AND f_month='"+Convert.ToDecimal (q)+"'";
.........提示输入字符串的格式不正确。 
行 45: 
command = "SELECT * FROM "+x+" WHERE f_company='y' AND f_year='"+Convert.ToDecimal (z)+"' AND f_month='"+Convert.ToDecimal (q)+"'";请一定帮忙改一下,多谢了!!!!!!

解决方案 »

  1.   

    command = "SELECT * FROM "+x+" WHERE f_company='y' AND f_year='"+Convert.ToDecimal(z).ToString()+"' AND f_month='"+Convert.ToDecimal(q).ToString()+"'";或者直接
    command = "SELECT * FROM "+x+" WHERE f_company='y' AND f_year='"+z+"' AND f_month='"+q+"'";
      

  2.   

    Convert.ToDecimal(z)就是转成货币类型的了,怎么能跟字符串相加?
      

  3.   

    to:暴走005
    用这句command = "SELECT * FROM "+x+" WHERE f_company='y' AND f_year='"+z+"' AND f_month='"+q+"'";
    提示:将 varchar 转换为数据类型 numeric 时发生算术溢出错误。是不是URL设置有问题啊??
      

  4.   

    先把你的sql语句放到sql查询分析器中测试,多种格式试一试,直到在查询分析器通过为止。
    在查询分析器中很快就可以试出正确的写法!
      

  5.   

    f_year和f_month在数据库的表中是什么类型的?
      

  6.   

    f_year和f_month在数据库的表中是什么类型的?
    应该是类型不对,
      

  7.   

    我试过了,  this.Response .Write (command);根本没有取到它得值啊??显示得是这个“SELECT * FROM 廊坊hdhy WHERE f_company='" DropDownList1 .SelectedItem.Text.ToString() "' ”怎么回事,这种方法难道不行吗,我快急死了!!!
      

  8.   

    DataGrid的超链接列的多参数传递,可以用如下的方法<asp:DataGrid id="YourID" runat="server" AutoGenerateColumns="False">
    <Columns>
    <asp:TemplateColumn HeaderText="Sample Column">
      <ItemTemplate>
        <asp:Hyperlink runat="server" Text='<%#Container.DataItem("TextVal")%>' NavigateUrl='<%# "page.aspx?Param1=" & Server.UrlEncode(Container.DataItem("Val1")) & "&Param2=" & Server.UrlEncode(Container.DataItem("Val2"))%>'/>
      </ItemTemplate>
    </asp:TemplateColumn></Columns>
      

  9.   

    看看这个帖子中思归的方法是否可行:http://community.csdn.net/Expert/topic/3275/3275613.xml?temp=.4553491