【发布时间】:2020-08-08 20:47:50
【问题描述】:
我正在尝试做的事情:当我从下拉列表中选择“PRODUSE”时,会发生以下情况。 “nume1”和“salariu”消失/变得无法访问。列表中的其他组件也是如此。我的if怎么了?为什么它不起作用。
if (conectare.State == ConnectionState.Open) {
conectare.Close();
}
conectare.Open();
}
protected void Button1_Click(object sender, EventArgs e)//butonul de insert
{
if (DropDownList2.SelectedValue == "1")
{
denumire1.Enabled = false;
salariu.Enabled = false;
SqlCommand cmd = conectare.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into PRODUSE values(' " + denumire.Text + " ',' " + anfabricatie.Text + " ')";
cmd.ExecuteNonQuery();
denumire.Text = "";
anfabricatie.Text = "";
display();
}
else if (DropDownList2.SelectedValue=="2") {
denumire.Enabled = false;
anfabricatie.Enabled = false;
SqlCommand cmd = conectare.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into FUNCTII values(' " + denumire1.Text + " ',' " + salariu.Text + " ')";
cmd.ExecuteNonQuery();
denumire1.Text = "";
salariu.Text="";
display2();
}
}
public void display() {// AFISAM TABELA PRODUSE
SqlCommand cmd = conectare.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select * from PRODUSE";
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
public void display2() // afisam tabela FUNCTII
{
SqlCommand cmd = conectare.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select * from FUNCTII";
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void Button2_Click(object sender, EventArgs e)
{
SqlCommand cmd = conectare.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "delete from PRODUSE where Denumire=' " + denumire.Text + " '";
cmd.ExecuteNonQuery();
denumire.Text = "";
display();
}
protected void Button3_Click(object sender, EventArgs e)
{
SqlCommand cmd = conectare.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "update PRODUSE set Denumire='"+denumire.Text+"',AnFabricatie='"+anfabricatie.Text+"' where IdProdus=" +Convert.ToInt32(idvechi.Text) + " ";
cmd.ExecuteNonQuery();
denumire.Text = "";
anfabricatie.Text = "";
display();
}
protected void Button4_Click(object sender, EventArgs e)
{
display();
}
-HTML-
<table>
<tr>
<td>Denumire</td>
<td><asp:TextBox ID="denumire" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>AnFabricatie</td>
<td><asp:TextBox ID="anfabricatie" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>Denumire</td>
<td><asp:TextBox ID="denumire1" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>Salariu</td>
<td><asp:TextBox ID="salariu" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:Button ID="Button1" runat="server" Text="Insert" OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="Delete" OnClick="Button2_Click" />
<asp:Button ID="Button3" runat="server" Text="Update" OnClick="Button3_Click" />
<asp:Button ID="Button4" runat="server" Text="View" OnClick="Button4_Click" />
</td>
</tr>
<tr>
<td>Id-ul pentru update</td>
<td>
<asp:TextBox ID="idvechi" runat="server"></asp:TextBox>
</td>
</tr>
</table>
<asp:DropDownList ID="DropDownList2" runat="server" Height="16px" Width="253px" OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged">
<asp:ListItem ID="produse" Value="1">PRODUSE</asp:ListItem>
<asp:ListItem ID="functii" Value="2">FUNCTII</asp:ListItem>
<asp:ListItem ID="angajati" Value="3">ANGAJATI</asp:ListItem>
<asp:ListItem ID="categorii" Value="4">CATEGORII_PROD</asp:ListItem>
<asp:ListItem ID="comenzi" Value="5">COMEZNI</asp:ListItem>
<asp:ListItem ID="clienti" Value="6">CLIENTI</asp:ListItem>
<asp:ListItem ID="vanzari" Value="7">VANZARI</asp:ListItem>
</asp:DropDownList>
<br />
<asp:GridView ID="GridView1" runat="server"></asp:GridView>
</div>
</form>
【问题讨论】:
-
* 必须发生以下情况
-
从菜单尝试:调试:BreakAll。然后使用菜单:调试:Windows:调用堆栈
-
与您的问题无关,但使用parameterized queries很重要。
标签: c# asp.net sql-server