[ MarkoBalkan @ 26.09.2007. 21:27 ] @
ovo je kod za pozivanje procedure.naziv procedure je aa.
imam jedan textbox na formi.
preko textboxa zelim filtrirati upit u proceduri.

ovo je storna procedura

select ID,a,b
from prva
where a=@a


a ovo je kod.negdje grijesim.pomozite.ako ne filtriram pozivanje radi.

Dim st As String = "data source=localhost;database=proba;user name=root;password=123;"

Dim con As MySqlConnection = New MySqlConnection(st)

Dim com As MySqlCommand
Dim da As New MySqlDataAdapter()
Dim p As New MySqlParameter
Dim dt As New DataTable



com = New MySqlCommand("aa", con)
com.CommandType = CommandType.StoredProcedure

p = com.Parameters.Add("@a", MySqlDbType.Int32, 9)
p.Value = CInt(TextBox1.Text)
p.Direction = ParameterDirection.Input

con.Open()
com.ExecuteNonQuery()

da.SelectCommand = com



da.Fill(dt)

con.Close()

DataGridView1.DataSource = dt



[ sivan347 @ 27.09.2007. 09:18 ] @
Ono sto je sigurno ne potrebno su sledece linije koda:
con.Open()
com.ExecuteNonQuery()
con.Close()
Nisam siguran da ti zbog toga ne radi ali bi bilo dobro da napises neku gresku ako postoji. Ako nema greske moze biti da ne punis grid ponovo na filter event.
[ MarkoBalkan @ 27.09.2007. 09:43 ] @
Citat:
sivan347: Ono sto je sigurno ne potrebno su sledece linije koda:
con.Open()
com.ExecuteNonQuery()
con.Close()
Nisam siguran da ti zbog toga ne radi ali bi bilo dobro da napises neku gresku ako postoji. Ako nema greske moze biti da ne punis grid ponovo na filter event.


nema greske.u datagridu se prikazu imena kolona, ali ne i podaci.
trebao bi se prikazati 1 red.
ali nista.
[ aleksandarpopov @ 27.09.2007. 16:29 ] @
Nastimaj prvo tu tvoju sp iz konzole (ili gde vec izvrsavas upite prema MySql-u) da radi kako treba sa nekim parametrima pa tek posle (kada si siguran da sp radi kako si zamislio) pokusaj da je izvrsis iz tvoje aplikacije.
[ MarkoBalkan @ 27.09.2007. 17:13 ] @
sa parametrima radi dobro.kadpozovem proceduru iz aplikacije bez parametara radi.a ovako ne radi.
[ aleksandarpopov @ 27.09.2007. 18:07 ] @
A kako ti izgleda cela sp tj. dovoljno je i njen 'potpis' ? Jesi ti izostavio u 'potpisu' da procedura prihvata parametar (ne znam sintaxu MySql) ali postuje celu SP....
[ MarkoBalkan @ 27.09.2007. 18:35 ] @
DELIMITER $$

DROP PROCEDURE IF EXISTS `proba`.`aa`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `aa`()
BEGIN

select ID,a,b
from prva
where a=@a;

END$$

DELIMITER;

ovo je procedura.
ako umjesto @a stavim broj, izvrsi se i prikaze sta mora.

u kodu bez uvjeta where radi.a sa uvjetom nece.
[ aleksandarpopov @ 27.09.2007. 18:53 ] @
Ne znam sintaxu za sp u MySql - u ali ako bi koristio Ms Sql server tvoja sp bi izgledala ovako nekako
Code:

CREATE PROCEDURE proba
@a int
AS

select ID,a,b
from prva
where a=@a

Sad kako ovo napisatu u MySql u - pojma nemam, ali obrati paznju na ono '@a int' ...
[ MarkoBalkan @ 27.09.2007. 19:18 ] @
proradilo je
ovo je rješenje.


DELIMITER $$

DROP PROCEDURE IF EXISTS `proba`.`aa`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `aa`(c int(9))
BEGIN



select ID,a,b
from prva
where a=c;
END$$

DELIMITER ;