读书人

if语句里面的不能执行帮忙看看代码,

发布时间: 2012-01-20 18:53:53 作者: rapoo

if语句里面的不能执行,帮忙看看代码
protected void Button1_Click(object sender, EventArgs e)
{
string conn = ConfigurationSettings.AppSettings[ "strconn "];
SqlConnection st = new SqlConnection(conn);
string strSelect;
string strSelect2;
string strSelect3;
SqlCommand cmdSelect;
SqlCommand cmdSelect2;
SqlCommand cmdSelect3;
strSelect = "select [customerno],[goodsno],[goodsnumber] from[stock] where (([customerno]= "+customer.Text + ") AND ( [goodsno]= ' "+product.Text+ " ')) ";
strSelect2= "select [customerno],[goodsno],[goodsnumber] from[stock] where (([customerno]= "+customer.Text + ")) ";
strSelect3= "select [customerno],[goodsno],[goodsnumber] from[stock] where (([goodsno]= ' "+product.Text+ " ')) ";
cmdSelect = new SqlCommand(strSelect ,st );
cmdSelect2 = new SqlCommand(strSelect2,st);
cmdSelect3 = new SqlCommand(strSelect3, st);
st.Open();
DataSet ds = new DataSet();
if (customer.Text == " ")
{
if (product.Text == " ")
{
Response.Write( " <script language=javascript> alert( '查件不能空 ') </script> ");

}
else
{
cmdSelect3.ExecuteNonQuery();
SqlDataAdapter da1 = new SqlDataAdapter(strSelect3, st);
da1.Fill(ds);


GridView1.DataSource = ds;
GridView1.DataBind();

}
}
else
if (product.Text == " ")
{
cmdSelect2.ExecuteNonQuery();
SqlDataAdapter da2 = new SqlDataAdapter(strSelect2, st);
da2.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
else

{
cmdSelect.ExecuteNonQuery();
SqlDataAdapter da3 = new SqlDataAdapter(strSelect, st);
da3.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
long TotolCount = 0;
if (ds != null && ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
long TempCount = 0;
object a= ds.Tables[0].Rows[i][ "goodsnumber "];


if (a == null)
{
TempCount = 0;
}
TempCount = long.Parse(a.ToString () );
TotolCount += TempCount;
}
}
this.TextBox1.Text = TotolCount.ToString();
st.Close();
}



[解决办法]
当然出错了
如果 textbox没有值的时候
你的 ds都没执行,没绑定,没填充
怎么能进行判断?
[解决办法]
你的

if (ds != null && ds.Tables[0].Rows.Count > 0) 这一句

不在第一个if的控制范围内

执行完第一个if后仍然会顺序执行这一个

可以在
Response.Write( " <script language=javascript> alert( '查件不能空 ') </script> ");

后面加
Response.End();
return;


或者把你出错的这一段,放到上面那个if的 else段里


读书人网 >asp.net

热点推荐