异常详细信息: 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();
}
行 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();
}
parm2.Value = Request.QueryString["SID"];
看看这两个都是什么
肯定是拼接SQL的问题~~~~
去掉双引号
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];
}
debug一下啊一步一步的 很容易发现错误
要学会自己去找到错误