Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > DB i Stored procedure


Автор: unkis 2.8.2005, 17:54
Rebyata nado uznat sushestvuet li takoj li takoe pole.

Delaju ya eto tak.

Код

CREATE PROCEDURE dbo.RGetGuid(@a1 tinyint, @a2 tinyint, @a3 tinyint, @a4 tinyint, @data bigint, @rnd int, @o INTEGER OUTPUT) AS
select @o =  count(*) from Registration where a1 =@a1 and a2 =@a2 and a3 =@a3 and a4 =@a4 and Data = @data and rnd = @rnd
GO


i vot takaya programka kotoraya obrabativaet eto delo

Код

conn.Open();
            
            SqlCommand cmd = new SqlCommand("RGetGuid",conn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@a1", a1[0]));
            cmd.Parameters.Add(new SqlParameter("@a2", a2[0]));
            cmd.Parameters.Add(new SqlParameter("@a3", a3[0]));
            cmd.Parameters.Add(new SqlParameter("@a4", a4[0]));
            cmd.Parameters.Add(new SqlParameter("@data",tiks));
            cmd.Parameters.Add(new SqlParameter("@rnd",rnd));
            cmd.Parameters.Add(new SqlParameter("@o",SqlDbType.Int));
            cmd.UpdatedRowSource = UpdateRowSource.OutputParameters;
            cmd.ExecuteNonQuery();
            int o = (int)cmd.Parameters["@o"].Value;
            

            //Object o = cmd.ExecuteScalar();
            if ((int)o>0)
            {
                conn.Close();
                return true;
            }
            else 
            {
                conn.Close();
                return false;
            }


no pochemu-to ne rabotaet.


W chem Problema?

Zaraniya Blagodaren!

P.S: Translit v FireFox ne rabotaet.

Автор: arilou 2.8.2005, 18:09
А так не пойдет ?
Код

sеt @o =  SELECT count(*) from Registration where a1 =@a1 and a2 =@a2 and a3 =@a3 and a4 =@a4 and Data = @data and rnd = @rnd

Автор: unkis 2.8.2005, 18:17
Nerabotaet

Автор: arilou 2.8.2005, 18:23
Тады делай так:

Процедура
Код

SELECT count(*) from Registration where a1 =@a1 and a2 =@a2 and a3 =@a3 and a4 =@a4 and Data = @data and rnd = @rnd


Код:
Код

SqlCommand cmd = new SqlCommand("RGetGuid",conn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@a1", a1[0]));
            cmd.Parameters.Add(new SqlParameter("@a2", a2[0]));
            cmd.Parameters.Add(new SqlParameter("@a3", a3[0]));
            cmd.Parameters.Add(new SqlParameter("@a4", a4[0]));
            cmd.Parameters.Add(new SqlParameter("@data",tiks));
            cmd.Parameters.Add(new SqlParameter("@rnd",rnd));
            cmd.Parameters.Add(new SqlParameter("@o",SqlDbType.Int));
            
            int o = (int)cmd.ExecuteScalar();

Автор: unkis 2.8.2005, 18:48
spasibo

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)