2012-07-13 47 views
0

我想通過用戶輸入搜索一個特定的數字... ...目前不工作,但即使當我硬編碼一個數字它仍然不會重新任何東西。我不知道我做錯了什麼。請幫助我,這是相當緊迫的。通過數據庫搜索 - 在asp c#Visual Web Developer Express

Tahnk你你,文件在下面。

CS文件

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

namespace SearchC 
{ 
    public partial class _Default : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 

     protected void SearchClick(object sender, EventArgs e) 
     { 
      string searchPAS = txtSearch.Text; 
      using (var sqlconnection = new SqlConnection(Search) 
      { 
       string strQuery = "Select PAS_NO from P_DETAILS where PAS_NO = searchPAS"; 
       SqlCommand command = new SqlCommand(strQuery, sqlconnection) { CommandType = CommandType.Text }; 
       var ptnt = command.ExecuteScalar(); 
       txtPAS.Text = ptnt.ToString(); 
      } 

     } 
    } 
} 

的Web配置文件

<configuration> 
    <connectionStrings> 
    <add name="Search" connectionString="Data Source=dwh;User ID=***;Password=***;Unicode=True" 
     providerName="System.Data.OracleClient" /> 
    </connectionStrings> 

    <system.web> 
    <compilation debug="true" targetFramework="4.0" /> 

    <authentication mode="Forms"> 
     <forms loginUrl="~/Account/Login.aspx" timeout="2880" /> 
    </authentication> 

    <membership> 
     <providers> 
     <clear/> 
     <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" 
      enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" 
      maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" 
      applicationName="/" /> 
     </providers> 
    </membership> 

    <profile> 
     <providers> 
     <clear/> 
     <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/> 
     </providers> 
    </profile> 

    <roleManager enabled="false"> 
     <providers> 
     <clear/> 
     <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" /> 
     <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" /> 
     </providers> 
    </roleManager> 

    </system.web> 

    <system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    </system.webServer> 
</configuration> 

aspx文件

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" 
    CodeBehind="Default.aspx.cs" Inherits="SearchC._Default" %> 

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> 
</asp:Content> 
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 

    <table> 
      <tr> 
       <td> 
        PAS NUmber 
       </td> 
       <td> 
        <asp:TextBox ID="txtSearch" runat="server"></asp:TextBox> 
       </td> 
      </tr> 
      <tr > 

       <td > 
        <asp:Button runat="server" ID="btnSearch" OnClick="SearchClick" Text="Search"/> 
       </td> 
      </tr> 
      <tr > 

       <td > 
        <asp:TextBox ID="txtPAS" runat="server"></asp:TextBox> 
       </td> 
      </tr> 
     </table> 


</asp:Content> 

這是我現在...我不確定爲什麼它不工作,它只是閃爍,當我按下按鈕,沒有其他事情發生

回答

1

您正在搜索字符串searchPAS而不是變量包含的內容。改變你的查詢這樣使用參數:

string strQuery = "Select PAS_NO from P_DETAILS where PAS_NO = @searchPAS"; 
SqlCommand command = new SqlCommand(strQuery, sqlconnection) { CommandType = CommandType.Text }; 
command.Parameters.AddWithValue("searchPAS", searchPAS); 
var ptnt = command.ExecuteScalar(); 
txtPAS.Text = ptnt.ToString(); 
相關問題