我有如下代碼...if/else語句不執行某些節點
if(txtEditName.Text.Trim() == "" || txtEditAddress.Text.Trim() == "")
{
lblBError.Enabled = true;
lblBError.Visible = true;
lblBError.Text = "Please provide the required field.";
return;
}
else
{
if(txtControl.Text.Trim() == "")
{
if(DropDownClient.Enabled)
{
if(DropDownClient.SelectedItem.Value == "select")
{
lblBError.Enabled = true;
lblBError.Visible = true;
lblBError.Text = "Please select Client.";
return;
}
}
else
{
if(lblClientName.Text.Trim() != "")
{
sql = @"INSERT INTO [BRANCH] (bname,baddress,bcity,bstate,bpostcode,bphone,bfax,bemail,clientID)
VALUES (@bname,@baddress,@bcity,@bstate,@bpostcode,@bphone,@bfax,@bemail,(SELECT clientID FROM [CLIENT] WHERE cname='" + lblClientName.Text + "'))";
}
else
{
sql = @"INSERT INTO [BRANCH] (bname,baddress,bcity,bstate,bpostcode,bphone,bfax,bemail,clientID)
VALUES (@bname,@baddress,@bcity,@bstate,@bpostcode,@bphone,@bfax,@bemail," + DropDownClient.SelectedItem.Value + ")";
}
}
}
else
{
sql = @"INSERT INTO [BRANCH] (bname,baddress,bcity,bstate,bpostcode,bphone,bfax,bemail,clientID)
VALUES (@bname,@baddress,@bcity,@bstate,@bpostcode,@bphone,@bfax,@bemail," + Convert.ToInt32(txtControl.Text.Trim()) + ")";
// SqlCommand cmd = new SqlCommand(sql, connection);
}
}
我遇到的問題是,代碼的某些部分沒有執行。當我運行,它忽略了其他部分,其中
if(lblClientName.Text.Trim() != "")
{
}
else
{
sql = @"INSERT INTO [BRANCH] (bname,baddress,bcity,bstate,bpostcode,bphone,bfax,bemail,clientID)
VALUES (@bname,@baddress,@bcity,@bstate,@bpostcode,@bphone,@bfax,@bemail," + DropDownClient.SelectedItem.Value + ")";
}
它跳的sql =」「在其他部分,而通過SQL屁股空字符串。我不知道爲什麼會發生這種情況?我檢查了一切,看起來都很好。請問有一點,代碼的問題是什麼?
可能是因爲DropDownClient.Enabled始終爲真? .. – Tigran
當您嘗試使用調試器時,他們告訴您關於lblClientName的信息? – BorHunter
@NuruSalihu你可以給if語句塊添加一個調試打印語句。這將告訴我們,如果條件'lblClientName.Text.Trim()!=「」'是true或false。 – Nikhil