Dies ist die Abfrage, wenn ich in SQL Server eingeben.SQL-Abfrage WHERE-Bedingung funktioniert nicht
SELECT * FROM CSPJDE.DBO.Emp WHERE Dept = '010'
Dies ist der Code in den aspx.cs
private void BindGrid()
{
string strConnString = ConfigurationManager.ConnectionStrings["SQL"].ConnectionString;
using (SqlConnection con = new SqlConnection(strConnString))
{
using (SqlCommand cmd = new SqlCommand("SELECT TOP 100 * FROM [dbo].[F4101] WHERE IMSRP3 ='"+Div+"'"))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataTable dt = new DataTable())
{
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
}
}
}
Die "Div" Datei Variable von einer anderen Seite übertragen wurde, wo der Benutzer die Dropdown-Liste ausgewählt werden. Jede Option hat ihren eigenen Wert.
<asp:DropDownList ID="DivDrop" runat="server" CssClass="auto-style1">
<asp:ListItem Value="010" Selected="True">(010) CAL</asp:ListItem>
<asp:ListItem Value="020">(020) Sales</asp:ListItem>
<asp:ListItem Value="'030'">(030) Marketing</asp:ListItem>
<asp:ListItem Value="'031'">(031) Admin</asp:ListItem>
<asp:ListItem Value="'035'">(035) Accounting</asp:ListItem>
<asp:ListItem Value="'999'">ALL</asp:ListItem>
</asp:DropDownList>
In der index.aspx.cs Datei, der Code die Variable für die Übertragung zu resultpage.aspx.cs zu retten ist:
protected void RunButton_Click(object sender, EventArgs e)
{
Response.Redirect("ResultPage.aspx?Value="+DivDrop.SelectedValue);
}
In dem result.aspx.cs, der Code die Variable abrufen lautet:
public void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["Value"] != null)
{
string Div = Request.QueryString["Value"].ToString();
}
if (!IsPostBack)
{
this.BindGrid();
}
}
So bin ich mir nicht sicher, warum die WHERE-Bedingung nicht funktioniert. Ist meine Codierung falsch oder gibt es etwas, was ich verpasst habe? Bitte um Rat. Danke im Voraus.
EDIT
Nach dem Ergebnis der SQL-Abfrage und meiner Datenbank zu vergleichen, wurde mir klar, dass die Variable leer ist. Der Grund, warum es immer noch in der Lage ist, Daten aus der Datenbank zu extrahieren, liegt darin, dass in der Spalte, die ich aufbereite, leere Daten vorhanden sind.
EDIT
Nicht sicher, ob dies helfen wird, aber ich einen Fehler haben, die die Ursache für dieses Problem sein könnte. "Der Name 'DivDrop' existiert im aktuellen Kontext nicht". DivDrop ist die Dropdown-Liste, die ich verwende, um meinen Wert zu erhalten.
ich tat, und es scheint zu sein, keine Änderung am Ergebnis der Abfrage. – Brandon