Foros del Web » Programando para Internet » ASPX (.net) »

Query en aplicacion aspx y c#

Estas en el tema de Query en aplicacion aspx y c# en el foro de ASPX (.net) en Foros del Web. Buenas a todos, En mi aplicacion tengo un textbox donde meto un numero y al pulsar sobre el boton me ejecuta una query que busca ...
  #1 (permalink)  
Antiguo 05/08/2013, 05:22
 
Fecha de Ingreso: octubre-2012
Ubicación: Pozuelo de Alarcón
Mensajes: 67
Antigüedad: 11 años, 6 meses
Puntos: 1
Query en aplicacion aspx y c#

Buenas a todos,

En mi aplicacion tengo un textbox donde meto un numero y al pulsar sobre el boton me ejecuta una query que busca aquellas filas de la bbdd que empiecen por esa cifra.

la query es esta y funciona bien ya que la he probado en access (bbdd que uso):

Código XML:
Ver original
  1. <DbSource ConnectionRef="WALTConnectionString2 (Web.config)" DbObjectName="VOLATIL" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillGet_partvolatilopt" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="Get_partvolatilopt" GeneratorSourceName="FillGet_partvolatilopt" GetMethodModifier="Public" GetMethodName="Get_partvolatilopt" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="Get_partvolatilopt" UserSourceName="FillGet_partvolatilopt">
  2.                 <SelectCommand>
  3.                   <DbCommand CommandType="Text" ModifiedByUser="true">
  4.                     <CommandText>SELECT     id_part, id_pl, pn, rma, OPTcase, qty, status, dir_cliente, employee_number, warehouse, piki, loaded_type
  5. FROM         VOLATIL
  6. WHERE     ([OPTcase] LIKE ?)</CommandText>
  7.                     <Parameters>
  8.                      <Parameter AllowDbNull="true" AutogeneratedName="Param1" ColumnName="OPTcase" DataSourceName="VOLATIL" DataTypeServer="DbType.StringFixedLength(50)" DbType="String" Direction="Input" ParameterName="OPTcase" Precision="0" ProviderType="WChar" Scale="0" Size="50" SourceColumn="OPTcase" SourceColumnNullMapping="false" SourceVersion="Current" />
  9.                     </Parameters>
  10.                   </DbCommand>
  11.                 </SelectCommand>
  12.               </DbSource>

Y os dejo también el código de la aplicación donde inserto el texto y realizo la llamada a la query:

Servidor:

Código C#:
Ver original
  1. protected void But_PartsByOPT_Click(object sender, EventArgs e)
  2.     {
  3.         //show parts found by OPTcase.
  4.         VOLATILBLL volatil = new VOLATILBLL();
  5.         VOLATILTO pieza = new VOLATILTO();
  6.         string optcase_aux = TB_PartsByOPT.Text + "*";
  7.         int cont = volatil.getpartvolatilopt(optcase_aux).Count;
  8.  
  9.         ODS2.SelectParameters.Clear();
  10.         ODS2.SelectMethod = "getpartvolatilopt";
  11.         ODS2.TypeName = "VOLATILBLL";
  12.         Parameter para = new Parameter("OPTcase", TypeCode.String);
  13.         para.DefaultValue = TB_PartsByOPT.Text + "*";
  14.         ODS2.SelectParameters["OPTcase"] = para;
  15.  
  16.         lbl_id_pl.Text = "Contador numero de piezas en volatil: " + cont + " y su parametro de entrada es: " + para.DefaultValue;
  17.         lbl_id_pl.Visible = true;
  18.  
  19.         GridView2.DataBind();
  20.         GridView2.Visible = true;
  21.         if (GridView2.Rows.Count == 0)
  22.         {
  23.             txtBox_optcase.Text = TB_PartsByOPT.Text;
  24.             addpart.Visible= true;
  25.             lbl_parts_search.Visible = false;
  26.             Button2.Visible = false;
  27.             Button4.Visible = false;
  28.         }
  29.         else
  30.         {
  31.             Button2.Visible = true;
  32.             Button4.Visible = true;
  33.             lbl_parts_search.Text = "This OPTcase has the following parts in our database. If your part is among them, select and confirm. If not, click (Add manual) to add a new part.";
  34.             lbl_parts_search.Visible = true;  
  35.         }
  36.        
  37.     }


Código ASP:
Ver original
  1. <asp:ObjectDataSource ID="ODS2" runat="server"
  2.         SelectMethod="getpartvolatilopt" TypeName="VOLATILBLL">
  3.         <SelectParameters>
  4.             <asp:Parameter DefaultValue="" Name="OPTcase" Type="String" />
  5.         </SelectParameters>
  6.   </asp:ObjectDataSource>
  7.     <asp:Panel ID="pnl_SearchByPart" runat="server" Visible="false" >
  8.         <div class="divModul">
  9.         <h2>Add Part:</h2>
  10.           <table class="style1" frame="void" border="10" rules="rows">
  11.                 <tr>
  12.                     <td>
  13.                         OPTcase</td>
  14.                     <td>
  15.                         <asp:TextBox ID="TB_PartsByOPT" runat="server"></asp:TextBox>
  16.                     </td>
  17.                     <td>
  18.                         <asp:Button ID="But_PartsByOPT" runat="server"
  19.                             onclick="But_PartsByOPT_Click" Text="Search" />
  20.                     </td>
  21.                 </tr>
  22.             </table>
  23.             </div>
  24.     </asp:Panel>

Decir que al pasarle como parámetro el textbox lo concateno con un * para que la query busque los que empiecen por eso, así pues el parámetro de búsqueda quedaría: "TextBox.text*".

¿Alguien sabe por que no me funciona? Si quito el * solo me encuentra los que son iguales.

Muchas gracias

Un saludo

Etiquetas: aplicacion, asp, aspx, gridview, query, server
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:43.