2015-06-09 2 views
3

У меня есть этот ASPX код (HTML):предложения WHERE в SQL заявления с 2 условия

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SearchCustomer.aspx.cs" Inherits="WebApplication1.eyeofheaven.SearchCustomer" %> 

<!DOCTYPE html> 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<link rel="stylesheet" type="text/css" href="StyleSheets/SearchCustomerStyle.css"> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css"> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> 
<title>Search Customer</title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div class="row"> 
    <div class="twelve columns"> 
      <!-- Header--> 
      <div class="container"> 
       <nav role="navigation" class="navbar navbar-inverse navbar-fixed-top"> 
        <!-- Brand and toggle get grouped for better mobile display --> 
        <div class="navbar-header"> 
         <button type="button" data-target="#navbarCollapse" data-toggle="collapse" class="navbar-toggle"> 
          <span class="sr-only">Toggle navigation</span> 
          <span class="icon-bar"></span> 
          <span class="icon-bar"></span> 
          <span class="icon-bar"></span> 
         </button> 
        </div> 
        <!-- Collection of nav links, forms, and other content for toggling --> 
        <div id="navbarCollapse" class="collapse navbar-collapse"> 
         <ul class="nav navbar-nav"> 
          <li><a href="EyeOfHeaven.aspx">Home</a></li> 
          <li class="dropdown"> 
           <a data-toggle="dropdown" class="dropdown-toggle active" href="#">Search<b class="caret"></b></a> 
           <ul role="menu" class="dropdown-menu"> 
            <li><a href="SearchCustomer.aspx">Search Form(Customer)</a></li> 
            <li><a href="SearchVehicle.aspx">Search Form(Vehicle)</a></li> 
           </ul> 
          </li> 
         </ul> 
        </div> 
       </nav> 
      </div> 
    </div> 
</div> 

<!-- Search form customer--> 
<div id="searchcustomer" class="page-header"> 
    <h3><span class="glyphicon glyphicon-th-large"></span>Search Customer</h3> 
</div> 
<div class="row"> 
    <div class="col-md-4"> 
     <input type="text" runat="server" id="search" size="20" class="form-control" placeholder="Customer ID"> 
    </div> 
    <div class="col-md-4"> 
     <select class="form-control" runat="server" id="Country"> 
      <option value="select" selected disabled>Search by Country</option> 
      <option value="A:C ESTUDIO">A:C ESTUDIO</option> 
      <option value="Aaron McEwen-194712">Aaron McEwen-194712</option> 
      <option value="Accra">Accra</option> 
      <option value="Adoany">Adoany</option> 
      <option value="Aduanas">Aduanas</option> 
      <option value="Alex Sanchez-259029">Alex Sanchez-259029</option> 
      <option value="ALG Consulting-288078">ALG Consulting-288078</option> 
      <option value="Algeria">Algeria</option> 
      <option value="Algimantas Ramaskevicius">Algimantas Ramaskevicius</option> 
      <option value="Allan Demeritte-233953">Allan Demeritte-233953</option> 
      <option value="Althea Gibson-223990">Althea Gibson-223990</option> 
      <option value="Alvaro Delgado-279974">Alvaro Delgado-279974</option> 
      <option value="Amber Williamsen-212332">Amber Williamsen-212332</option> 
      <option value="Amos Peters-217784">Amos Peters-217784</option> 
      <option value="andersongordon-234453">andersongordon-234453</option> 
      <option value="Andrey Bolshakov-189544">Andrey Bolshakov-189544</option> 
      <option value="Angela green-220269">Angela green-220269</option> 
      <option value="ANGELMILLER-179184">ANGELMILLER-179184</option> 
      <option value="Angola">Angola</option> 
      <option value="Anguilla">Anguilla</option> 
      <option value="Anthony Knight-235064">Anthony Knight-235064</option> 
      <option value="Antigua and Barbuda">Antigua and Barbuda</option> 
      <option value="Anton Transport">Anton Transport</option> 
      <option value="Argentina">Argentina</option> 
      <option value="Armenia">Armenia</option> 
      <option value="Aruba">Aruba</option> 
      <option value="Australia">Australia</option> 
      <option value="Austria">Austria</option> 
      <option value="Bahamas">Bahamas</option> 
      <option value="Bahrain">Bahrain</option> 
      <option value="Bangladesh">Bangladesh</option> 
      <option value="Barbados">Barbados</option> 
      <option value="Belgium">Belgium</option> 
      <option value="Belize">Belize</option> 
      <option value="Benin">Benin</option> 
      <option value="Bermuda">Bermuda</option> 
     </select> 
    </div> 

    <div class="col-md-4"> 
     <select class="form-control" runat="server" id="Currency"> 
      <option value="selected" selected disabled>Search by Currency</option> 
      <option value="AUD">AUD Australian Dollar</option> 
      <option value="EUR">EUR</option> 
      <option value="GBP">GBP United Kingdom Pounds</option> 
      <option value="JPY">JPY Japan Yen</option> 
      <option value="NZD">NZD New Zealand Dollar</option> 
     </select> 
    </div> 
</div> 
<div class="row"> 
    <div class="col-md-4"> 
<button type="button" runat="server" onserverclick="Button1_Click" id="searchinfo" class="btn btn-primary"><span class="glyphicon glyphicon-search"></span> Search Info</button> 
    </div> 
</div> 

<!-- Information Table--> 
<div id="gridview"> 
    <asp:GridView runat="Server" id="data" CssClass="table table-striped table-bordered table-responsive"> 
    </asp:GridView> 
</div> 

</form> 
</body> 
</html> 

И его aspx.cs код позади:

using MSSQLConnector; 
using System; 
using System.Collections.Generic; 
using System.Data; 
using System.Data.SqlClient; 
using System.Linq; 
using System.Text; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace WebApplication1.eyeofheaven 
{ 
    public partial class SearchCustomer : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
     } 
     protected void Button1_Click(object sender, EventArgs e) 
     { 

      MSConnector connector = new MSConnector(); 
      connector.ConnectionString = "SERVER=xbetasql,52292;UID=username;Password=secret;DATABASE=ATDBSQL;"; 

      string customer = (this.search.Value); 
      string country = (this.Country.Value); 
      string idcurrency = (this.Currency.Value); 
      string query = null; 

      if (country != "select") 
      { 
       query = "select * from customer where country = '" + country + "'"; 
      } 
      else if (idcurrency != "selected") 
      { 
       query = "select * from customer where idcurrency = '" + idcurrency + "'"; 
      } 
      else if ((country != "select") && (idcurrency != "selected")) 
      { 
       query = "select * from customer where country = '" + country + "select * from customer where idcurrency = '" + idcurrency + "'"; 
      } 
      else if (customer == customer) 
      { 
       query = "select * from customer where idcustomer = '" + customer + "'"; 
      } 
      else if (customer == "") 
      { 
       Response.Write("<script>alert('No Id Inputted, Data Not Found.')</script>"); 
      } 
      DataSet selectedData = connector.ExecuteQuery(query); 
      DataTable dt = selectedData.Tables[0]; 
      data.DataSource = dt; 
      data.DataBind(); 
     } 
    } 
} 

У меня есть проблема о состоянии, Я хочу, чтобы мой тег select отображал данные, когда я выбираю два варианта, например: я выбираю «Aduanas» из страны, а затем выбираю другой вариант «USD» из Currency. Но он получит только данные первого выбранного тега (Страна), который я выбрал, мое условие не читает и не получает данные двух значений страны и валюты. Я новичок в программировании на C# и в ms sql, и я изучаю синтаксис и его функции.

Мое состояние о стране и валюте (выберите тег) ниже:

else if ((country != "select") && (idcurrency != "selected")) 
{ 
    query = "select * from customer where country = '" + country + "select * from customer where idcurrency = '" + idcurrency + "'"; 
} 
+0

Мы не можем отлаживать для вас голосование, чтобы закрыть –

+0

О, это! это только условие для текстового поля с поисковым клиентом, получающего значение клиента, я получаю значение текстового поля id = «поиск» и помещаю его в строку customer = (this.search.Value); –

ответ

4

Основываясь на текущем коде, первый if блок ниже всегда будет выполняться при выборе страны, выбираете ли вы валюту или не

if (country != "select") 
{ 
    query = "select * from customer where country = '" + country + "'"; 
} 

Вы должны проверить выбранную валюту внутри первого if блок также. Я также исправил неправильный синтаксис SQL.

if (country != "select") 
{ 
    if (idcurrency != "selected") 
    { 
     query = "select * from customer where country = '" + country + "' and idcurrency = '" + idcurrency + "'"; 
    } 
    else 
    { 
     query = "select * from customer where country = '" + country + "'"; 
    } 
} 
+0

Эта работа сэр очень благодарна! :) один вопрос, где Я поставил свой тег оповещения, если моя страна и валюта не соответствуют его базе данных? –

4

Существует ошибка синтаксиса в вашем SQL; вместо:

query = "select * from customer where country = '" + country + "select * from customer where idcurrency = '" + idcurrency + "'"; 

должно быть примерно следующее:

query = "select * from customer where country = '" + country + "' AND idcurrency = '" + idcurrency + "'"; 

Надеется, что это может помочь.

+0

Добро пожаловать Я рад, что это сработало для вас. Пожалуйста, подтвердите свой ответ, и если у вас появятся дополнительные вопросы, отправьте их отдельно. Удачи вам в вашем проекте. С уважением, –

Смежные вопросы