异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误: 
行 78:            
行 79:  DataSet returns = new DataSet();
行 80:  sqlAdapter1.Fill(returns,"Questions");
行 81:  DataList1.DataSource=returns.Tables["Questions"].DefaultView;
行 82:             DataList1.DataBind();
 源文件: c:\Inetpub\wwwroot\TragramMini\WebTragMini\tan\searched.aspx.cs    行: 80 
源码为:
public void BindGrid() 
{
SqlConnection sqlConnection=new SqlConnection(ConfigurationManager.AppSettings["DBConnection"]);
            string sql1;
if (Request.QueryString["author"]=="")
{
if (Request.QueryString["BigClassID"]==null) 
{
                    sql1 = "SELECT Q_ID,solved, author, Q_Note, Q_Content, ImageName, HiteCounter, AnsCounter,ReleaseTime, ReferTime, BigClass_ID, SmallClass_ID FROM Questions" +
                        " WHERE (BigClass_ID =@BigClassID) AND (SmallClass_ID =@SmallClassID) AND (ReferTime >@ReferTime) AND (Q_Note LIKE @Q_Note)and(Kind >= 0)";

}
else
{
                    sql1 = "SELECT Q_ID,solved, author, Q_Note, Q_Content, ImageName, HiteCounter, AnsCounter,ReleaseTime, ReferTime, BigClass_ID, SmallClass_ID FROM Questions" +
                        " WHERE (ReferTime >@ReferTime) AND (Q_Note LIKE @Q_Note)and(Kind >= 0)";

}
}
else
{
if (Request.QueryString["BigClassID"]==null) 
{
sql1="SELECT Q_ID,solved,author, Q_Note, Q_Content, ImageName, HiteCounter, AnsCounter,ReleaseTime, ReferTime, BigClass_ID, SmallClass_ID FROM Questions"+
" WHERE (ReferTime > @ReferTime) AND (Q_Note LIKE @Q_Note) AND (author ='"+Request.QueryString["author"]+"')and(Kind >= 0)";
}
else
{
sql1="SELECT Q_ID,solved, author, Q_Note, Q_Content, ImageName, HiteCounter, AnsCounter,ReleaseTime, ReferTime, BigClass_ID, SmallClass_ID FROM Questions"+
" WHERE (BigClass_ID =@BigClassID) AND (SmallClass_ID =@SmallClassID) AND (ReferTime > @ReferTime) AND (Q_Note LIKE @Q_Note) AND (author =@author)and(Kind >= 0)";
}
}
string note;
if (Request.QueryString["Q_Note"]=="%")
note="%";
else
note="%"+Request.QueryString["Q_Note"]+"%";

SqlDataAdapter sqlAdapter1 = new SqlDataAdapter(sql1, sqlConnection);           
            SqlParameter parm1=sqlAdapter1.SelectCommand.Parameters.Add("@BigClassID", SqlDbType.Int, 4, "BigClass_ID");
            SqlParameter parm2= sqlAdapter1.SelectCommand.Parameters.Add("@SmallClassID", SqlDbType.Int, 4, "SmallClass_ID");
           
             SqlParameter parm3=sqlAdapter1.SelectCommand.Parameters.Add("@Q_Note", SqlDbType.VarChar, 160, "Q_Note");
             SqlParameter parm4=sqlAdapter1.SelectCommand.Parameters.Add("@ReferTime", SqlDbType.DateTime, 12, "ReferTime");
           
            parm1.Value = Request.QueryString["BID"];
            parm2.Value = Request.QueryString["SID"];
          
            parm3.Value = note;
            parm4.Value = Request.QueryString["ReferTime"];
           
DataSet returns = new DataSet();
sqlAdapter1.Fill(returns,"Questions");
DataList1.DataSource=returns.Tables["Questions"].DefaultView;
            DataList1.DataBind(); //this.Page.DataBind();
}    

解决方案 »

  1.   

    parm1.Value = Request.QueryString["BID"];
    parm2.Value = Request.QueryString["SID"];
    看看这两个都是什么
    肯定是拼接SQL的问题~~~~
      

  2.   

    sqlAdapter1.Fill(returns,"Questions");
    去掉双引号
      

  3.   

    我做绑定的时候都是写个方法,返回个DataTable,然后再绑定
      public DataTable table(string sql, string tbName) {
            SqlDataAdapter da = new SqlDataAdapter(sql, this.conn());
            DataSet ds = new DataSet();
            da.Fill(ds,tbName);
            return ds.Tables[tbName];
        }
      

  4.   

    这么多
     debug一下啊一步一步的 很容易发现错误
    要学会自己去找到错误