webForumDet fria alternativet

sökning, får inte upp något

.NET

10 svar · 954 visningar · startad av annasmurf

Medlem sedan mars 2006237 inlägg
Frågan#1

hej!

kan någon förklara varför jag inte får upp något, har detta:


 <form id="form1" runat="server">
     <div>
      Event: <asp:TextBox ID="SokTextBox" runat="server"></asp:TextBox>
      <br />
      <br />
     <asp:Button ID="SokButton" runat="server" Text="Sök Event" OnClick="SokButton_Click" />
   
   <asp:GridView ID="EventPrisUppgGridView" runat="server" AllowPaging="True" 
   AutoGenerateColumns="true" 
OnRowDataBound="EventPrisUppgGridView_RowDataBound" 
OnSelectedIndexChanged="EventPrisUppgGridView_SelectedIndexChanged" 
OnRowEditing="EventPrisUppgGridView_RowEditing" 
OnRowUpdating="EventPrisUppgGridView_RowUpdating"
OnRowCancelingEdit="EventPrisUppgGridView_RowCancelingEdit" 
OnRowCommand="EventPrisUppgGridView_RowCommand"
PageSize="500" 
OnSorting="EventPrisUppgGridView_OnSorting" 
AllowSorting="true"
ShowFooter="true">

<Columns>
             

<asp:TemplateField HeaderText="id" SortExpression="id"  >
    <ItemTemplate>
    <asp:TextBox ID="idTextBox" runat="server" Width="70" Text='<%# Bind("id") %>' 
    OnTextChanged="TextBox_TextChanged" BorderStyle="None" ReadOnly="true"></asp:TextBox>
    </ItemTemplate>
    <FooterTemplate>
       <asp:TextBox ID="idFootTextBox" runat="server"  Text="Ny"> </asp:TextBox>
    </FooterTemplate>                                                                            
</asp:TemplateField>

<asp:TemplateField HeaderText="name" SortExpression="name"  >
    <ItemTemplate>
        <asp:TextBox ID="nameTextBox" runat="server" Width="200" Text='<%# Bind("name") %>' 
        OnTextChanged="TextBox_TextChanged" BorderStyle="None" ></asp:TextBox>
    </ItemTemplate>
    <FooterTemplate>
         <asp:TextBox ID="nameFootTextBox" runat="server" OnTextChanged="TextBox_TextChanged"></asp:TextBox>
     </FooterTemplate>
</asp:TemplateField>

</Columns>

<RowStyle ForeColor="#000066" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />

</asp:GridView>

<asp:Button ID="SaveButton" runat="server" Text="Spara uppdateringen" OnClick="SaveButton_Click" Height="34px" Width="160px" />
<asp:Button ID="SaveNEwButton" runat="server" Text="Spara det nya eventet" OnClick="SaveNewButton_Click" Height="34px" Width="160px" />
   
   
    </div>
    </form>
public partial class admin_EventPrisUppg : System.Web.UI.Page
{
     
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!(IsPostBack))
        {
    
        }
    }

    protected void SokButton_Click(object sender, EventArgs e)
    {
        string sok = SokTextBox.Text;

        EventPrisUppg eventprisuppgclass = new EventPrisUppg();
        EventPrisUppgSchema eventprisschema = eventprisuppgclass.GetData("%" + sok + "%");

        EventPrisUppgGridView.DataSource = eventprisschema;
        EventPrisUppgGridView.DataBind();
       

    }
Medlem sedan jan. 2008280 inlägg
#2

Du får debugga och notera vad variabeln "sok" innehåller samt kontrollera om variabeln eventprisschema tilldelas något värde från metoden eventprisuppgclass.GetData.

Medlem sedan mars 2006237 inlägg
#3

hej!

jag ser att "sok" innehåller mitt ord, å kör jag schemat där det är en sp-frågan får jag fram svar, så det känns som om något går fel sen, men hur kontrollera om variabeln eventprisschema tilldelas något värde från metoden eventprisuppgclass.GetData

Medlem sedan feb. 20013 023 inlägg
#4

Visa oss vad metoden GetData innehåller så blir det lättare att förstå...

Medlem sedan mars 2006237 inlägg
#5

så här ser den ut:

public EventPrisUppgSchema GetData(string eventname)
        {
            EventPrisUppgSchema ds2Return = new EventPrisUppgSchema();
            
            EventPrisUppgTableAdapter pta = new EventPrisUppgTableAdapter();
            pta.Fill(ds2Return.EventPrisUppg, eventname);

            

            return ds2Return;

}

Medlem sedan feb. 20013 023 inlägg
#6

ds2Return ska ha en property DataTable som i sin tur har propertyn Rows som har Count.
Debugga och stanna på raden
return ds2Return;
Använd immediate window och skriv:

?ds2Return.DataTables[0].Rows.Count

Så ska du få antalet rader som datatablen innehåller. Är det 0 där måste du kika på vad din kod skickar iväg för SQL...

Medlem sedan mars 2006237 inlägg
#7

då säger den
Web.Schemas.EventPrisUppgSchema.EventRow' does not contain a definition for 'Rows'

Medlem sedan mars 2006237 inlägg
#8

men skriver jag
ds2Return.Event.Count
så får jag 0

Medlem sedan feb. 20013 023 inlägg
#9

Den fråga som exekveras mot databasen verkar ju inte vara rätt. Använder du sql server så använder du sql server profiler för att se vad som faktiskt skickas mot databasen.

Medlem sedan mars 2006237 inlägg
#10

kommit vidare fel var som du sa 0 har den kod

GO
/****** Object:  StoredProcedure [dbo].[EventPrisUppg]    Script Date: 04/25/2012 09:27:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[EventPrisUppg]
	-- Add the parameters for the stored procedure here
	@name char(1024)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
	select id, name
, show, e.createdDate, e.updatedDate, e.statusid, 
statusSV, selarenaid, transportstatus, ticketId, t.ticketSupplierId, 
ticketSupplier, price, ticketStatusId, t.ticketTypeId, ticketType
from event e join 
dbo.tickets t on id=eventId join
dbo.eventStatus s on s.statusId = e.statusId join
dbo.ticketSupplier l on l.ticketSupplierId = t.ticketSupplierId join
dbo.ticketType b on b.ticketTypeId = t.ticketTypeId
where name like @name
END

då funkar det inte å köra!!! vad är felet? men gör jag så här så funkar det å jag får ut en lista...kan någon se vad felet är...blir tokig...

select id, name
, show, e.createdDate, e.updatedDate, e.statusid, 
statusSV, selarenaid, transportstatus, ticketId, t.ticketSupplierId, 
ticketSupplier, price, ticketStatusId, t.ticketTypeId, ticketType
from event e join 
dbo.tickets t on id=eventId join
dbo.eventStatus s on s.statusId = e.statusId join
dbo.ticketSupplier l on l.ticketSupplierId = t.ticketSupplierId join
dbo.ticketType b on b.ticketTypeId = t.ticketTypeId
where name like '%arsenal%'
Medlem sedan mars 2006237 inlägg
#11

hittade felet char(1024)
ska vara varchar(1024) å då funkar det

262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)