[ AMD guy @ 12.07.2010. 17:42 ] @
Imam sledecu proceduru
Code (sql):
CREATE PROCEDURE [dbo].[InsertNewUser]
(
  @UserName VARCHAR(30),
  @Password VARCHAR(30)
)
AS
IF EXISTS(SELECT 'True' FROM Korisnici WHERE UserName = @UserName)
BEGIN
--Ovo znaci da postoji
SELECT 'Ovaj korisnik vec postoji'
END
ELSE
BEGIN
--Ovo znaci da korisnik ne postoji, pa kreiramo novog
SELECT 'Korisnik kreiran'
INSERT INTO Korisnici (UserName,UserPassword) VALUES (@UserName, @Password)
END
 


Koja radi normalno kada se kreira novi korisnik, medjutim kada se izvrsi ovaj deo
Code (sql):
IF EXISTS(SELECT 'True' FROM Korisnici WHERE UserName = @UserName)
BEGIN
--Ovo znaci da postoji
SELECT 'Ovaj korisnik vec postoji'


ne prikazuje mi poruku u mom programu.
Kako da prikazem gresku u C# kada mi se izvrsi taj prvi deo?

[ aca andrijevic @ 21.07.2010. 10:15 ] @
Pogledaj malo ovo, mozda te odvede u nekom pravcu

SQLException Class
[ Cola @ 21.07.2010. 10:39 ] @
pokušaj ovako
iz C#
Code (csharp):

                    SqlCommand commSQL = new SqlCommand();
                    commSQL.Connection = connSQL;//tvoja konekcija
                    commSQL.CommandType = System.Data.CommandType.StoredProcedure;
                    commSQL.CommandText = "dbo.InsertNewUser";

                    SqlParameter parUserName = new SqlParameter("@UserName", username); //username je tvoja promjenjljiva
                    parUserName .Direction = ParameterDirection.Input;
                    commSQL.Parameters.Add(parUserName );

                    SqlParameter parPassword = new SqlParameter("@Password ", password ); //password je tvoja promjenjljiva
                    parPassword .Direction = ParameterDirection.Input;
                    commSQL.Parameters.Add(parPassword);
                   
                    try
                    {
                         commSQL.ExecuteNonQuery();
                         MessageBox.Show("'Korisnik kreiran'");
                    }
                    catch (Exception e)
                    {
                         MessageBox.Show(e.message);
                    }


 


pa proceduru prepravi ovako
Code (sql):

CREATE PROCEDURE [dbo].[InsertNewUser]
(
  @UserName VARCHAR(30),
  @Password VARCHAR(30)
)
AS
IF EXISTS(SELECT 'True' FROM Korisnici WHERE UserName = @UserName)
BEGIN
  raiserror('Ovaj korisnik vec postoji!', 11, 1)
  RETURN
END
ELSE
BEGIN
  --Ovo znaci da korisnik ne postoji, pa kreiramo novog
  INSERT INTO Korisnici (UserName,UserPassword) VALUES (@UserName, @Password)
END
 



ovo sam pisao direkt pa ako ima sintaksnih grešaka izvinjavam se ali mislim da bi ovako trebalo proći