[ govinda @ 11.06.2008. 11:48 ] @
Posto nemam nikakvog iskustva u ASP.NET kao ni u Visual Basicu .Net zamolio bi nekoga da mi objasni problem. Malo sam experimentisao sa pretrazivanjem baza poshto trenutno uchim SQL. Imam dva textbox polja u koja treba da unesem podatke (npr. u jedno text polje ime u drugo prezime). Zatim da iz baze u kojima imam te kolone (ime,prezime) prikazem rezultate u gridview? Sa jednim textboxom radi ali sa dva nece iako mi u Qwery Buideru sve radi kako treba? Kada se uchita stranica pojave mi se dva textbox polja unesem ja podatke i pritisnem enter a on samo pusti neki zvuk ali nishta ne uradi. Ako je previshe komplikovano da li postoji nachin da celu tabelu pretrazujem iz samo jednog textboxa?

Ako nisam bio dovoljno jasan poslacu screenshotove... hvala.
[ bags @ 11.06.2008. 12:46 ] @
Imas ovdje video pa pogledaj: http://asp.net/learn/videos/video-07.aspx .

Malo je cudno to sa zvukom.Jesi li probao debagovati kod ,da vidis dokle se izvrsi i da li uopste kupis parametre iz textboxova?
[ govinda @ 11.06.2008. 18:58 ] @
Pogledao sam video ali na njemu je samo sta se moze raditi sa te dve kontrole. To sam i ja znao. lako je da se provali. moje pitanje kako da proverim da li se podaci shalju iz oba textboxa u gridview? Nije mi jasno shta se deshava. Evo koda:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>

</div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="Registracija" HeaderText="Registracija"
SortExpression="Registracija" />
<asp:BoundField DataField="Model" HeaderText="Model" SortExpression="Model" />
<asp:BoundField DataField="Marka" HeaderText="Marka" SortExpression="Marka" />
<asp:BoundField DataField="Tip" HeaderText="Tip" SortExpression="Tip" />
<asp:BoundField DataField="Boja" HeaderText="Boja" SortExpression="Boja" />
<asp:BoundField DataField="Prezime" HeaderText="Prezime"
SortExpression="Prezime" />
<asp:BoundField DataField="Ime" HeaderText="Ime" SortExpression="Ime" />
<asp:BoundField DataField="Opstina" HeaderText="Opstina"
SortExpression="Opstina" />
<asp:BoundField DataField="Mesto" HeaderText="Mesto" SortExpression="Mesto" />
<asp:BoundField DataField="Ulica" HeaderText="Ulica" SortExpression="Ulica" />
<asp:BoundField DataField="Broj" HeaderText="Broj" SortExpression="Broj" />
<asp:BoundField DataField="Datum resenja" HeaderText="Datum resenja"
SortExpression="Datum resenja" />
<asp:BoundField DataField="Datum vazenja" HeaderText="Datum vazenja"
SortExpression="Datum vazenja" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:Vozila2003ConnectionString %>"
ProviderName="<%$ ConnectionStrings:Vozila2003ConnectionString.ProviderName %>"
SelectCommand="SELECT * FROM [Vozila] WHERE (([Registracija] LIKE ? + '%') OR ([Prezime] LIKE ? + '%'))">
<SelectParameters>
<asp:ControlParameter ControlID="TextBox1" Name="Registracija"
PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="TextBox2" Name="Prezime" PropertyName="Text"
Type="String" />
</SelectParameters>
</asp:SqlDataSource>
</form>
</body>
</html>



Nemam nishta od VB koda samo default koji se pravi kada se otvori novi projekat.
[ pl4stik @ 13.06.2008. 15:13 ] @
1. Verovatno bi na formi trebao da imash i jedno dugme koje na Click radi GridView1.DataBind() da bi filtrirao podatke u GridView1.

A sto se tice upita koji ti treba evo ako su meni objasnili na SQL forumu http://www.elitesecurity.org/p1893799, ako je to to sto hoces. Nije problem da vrati podatke ako su oba polje popunjena al ako jedno nije ja sam imao problem.

Evo npr. ovako bi mogo da glasi upit ali mora oba polja

Code:

SELECT ID, Registracija, Model, Marka, Tip, Boja, Prezime, Ime, Opstina, Mesto, Ulica, Broj, Datumresenja, Datumvazenja FROM Table1 WHERE (@Ime IS NULL OR @Ime IS NOT NULL AND Ime LIKE '%' + @Ime + '%') OR (@Prezime IS NULL OR @Prezime IS NOT NULL AND Prezime LIKE '%' + @Prezime + '%')
[ govinda @ 16.06.2008. 13:01 ] @
Ma probao sam ja to i sa dva popunjena TextBoxa i to radi ali meni je problem taj da ne moram uvek da kucam u oba polja nego samo u jedno.
kako da bindujem kolonu za textbox?

Hvala
[ govinda @ 16.06.2008. 19:56 ] @
Video sam sada na www.asp.net da ne mogu da bindujem kolonu iz tabele sa textboxom. Zanima me kako da napravim upit u bazu sa par textboxova i dugmetom koje ce pokupiti vrednosti iz textboxova i proslediti u upit?
[ pl4stik @ 16.06.2008. 21:41 ] @
Gde si to vido?

[ govinda @ 17.06.2008. 14:16 ] @
Negde na www.asp.net ima video o databindingu i tamo pishe da Textbox is not bindable dok npr listbox je.
[ pl4stik @ 18.06.2008. 09:02 ] @
Add New Stored Procedure

Code:


ALTER PROCEDURE dbo.StoredProcedure1 
(
    @Ime varchar(50),
    @Prezime varchar(50)

)
AS
    SET NOCOUNT ON;
SELECT     Table1.*
FROM         Table1
WHERE     (@Ime IS NULL OR @Ime IS NOT NULL AND Ime LIKE @Ime + '%') AND (@Prezime IS NULL OR
                      @Prezime IS NOT NULL AND Prezime LIKE @Prezime + '%')  



Nabaci novi DataSet (*.xsd) i povezi ga s procedurom. Obrati paznju da preimenujesh tip polja ako kod tebe nije varchar i ime tabele (Table1)..
[ govinda @ 18.06.2008. 15:56 ] @
Ovo radi super. Samo imam jedan mali problem... Tabela mi se uvek prikazuje kada se strana ucita. E sad posto moja tabela ima preko 2 miliona slogova da li postoji varijanta u kojoj ce se prikazivati samo rezultati moje pretrage a ne da se non stop cela tabela pa ja da filtriram?

Hvala na predhodnom odgovoru.

[Ovu poruku je menjao govinda dana 18.06.2008. u 17:16 GMT+1]
[ pl4stik @ 19.06.2008. 11:39 ] @
Na primer u Page_Load dodash GridView1.Visible=false, a dugmetu GridView1.Visible=true. Naravno, ovo nije najsrecnije resenje jer samo "krijesh" tabelu pa bi bilo lepo ako neko od iskusnijih kolega ima neko drugo resenje da isto podeli sa nama.
[ Prokleta_Nedelja @ 20.06.2008. 07:04 ] @
Ono sto ti treba je da izdvojis samo rezultate pretrage. Evo kako bih ja to uradio. Ostavi GridView kako i jeste samo mu skloni DataSourceID, tj izbrisi.

Nabaci jedno dugme i u eventu OnClick stavi

Code:

SqlConnection veza= new SqlConnection("moj konekcioni string");
SqlDataAdapeter da = new SqlDataAdapter ("SELECT * FROM [Vozila] WHERE (([Registracija] LIKE '%"+ TextBox1.Text +"%') OR ([Prezime] LIKE '%"+ TextBox2.Text +"%')",veza);
DataTable dt= new DataTable();

da.Fill(dt);

GridView1.DataSource=dt;
GridView1.DataBind;


i to je to
[ govinda @ 20.06.2008. 22:07 ] @
Ok ali sigurno pre toga teba i da deklarishem (nadam se da sam se dobro izrazio) josh neke stvari poshto mi javlja gomilu greshaka. da nije u pitanju C#? Poshto nece da proradi pa nece


Hvala

[Ovu poruku je menjao govinda dana 21.06.2008. u 01:44 GMT+1]