folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder C# Firebird (String Truncation)



C# Firebird (String Truncation)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bychaos
    bychaos's avatar
    Kayıt Tarihi: 03/Nisan/2007
    Erkek

    C# daki bi projede veritabanındaki bi prosedure parametre göndererek insert etmeye kalktığımda bu hatayi alıyorum: 

    An unhandled exception of type 'FirebirdSql.Data.FirebirdClient.FbException' occurred in FirebirdSql.Data.FirebirdClient.dll

    Additional information: arithmetic exception, numeric overflow, or string truncation

    Proje :

     

    FbConnection Baglanti = Bag.ac();

                    FbCommand komut = new FbCommand("INSERTURUN",Baglanti);

                    komut.CommandType = CommandType.StoredProcedure;

                    komut.Parameters.Add("@AURUNID", FbDbType.VarChar,5).Value = txtUrunKodu.Text;

                    MessageBox.Show(txtUrunKodu.Text);

     

                    komut.Parameters.Add("@AURUNADI",DBNull.Value);

                    komut.Parameters.Add("@AURUNTIPIID",DBNull.Value);

                    komut.Parameters.Add("@ATAKIPBIRIMI",DBNull.Value);

                    komut.Parameters.Add("@AFIYATI", DBNull.Value);

                    komut.Parameters.Add("@ADOVIZID", DBNull.Value);

                    komut.ExecuteNonQuery();

                    MessageBox.Show("Kayit Başarılı");                

                    temizle();

                    Baglanti.Close();

     

    Procedure :

     

    create or alter procedure INSERTURUN (

        ADOVIZID varchar(7),

        AFIYATI numeric(15,2),

        ATAKIPBIRIMI varchar(20),

        AURUNADI varchar(50),

        AURUNTIPIID integer,

        AURUNID varchar(10))

    as

    declare variable DBDEKIURUNID varchar(10);

    begin

    Select URUNler.urunid from urunler where urunid = :AURUNID into :DBDEKIURUNID;

      if (dbdekiurunid is not null) then

        begin

          update urunler set urunler.urunadi= :AURUNADI,urunler.uruntipiid=:AURUNTIPIID,

           urunler.takipbirimi=:ATAKIPBIRIMI,urunler.fiyati=:afiyati,urunler.dovizid=:ADOVIZID

           where urunler.urunid=:aurunid;

        end

        else

        begin

        insert into URUNLER(URUNID,URUNADI,URUNTIPIID,TAKIPBIRIMI,FIYATI,DOVIZID)

        values(:AURUNID,:AURUNADI,:auruntipiid,:ATAKIPBIRIMI,:AFIYATI,:ADOVIZID);

        suspend;

        end

     

     

     

      /* Procedure Text */

     

    end^

     Not: URUNID i 4 karakter girince insert ediyo 5 girince patlıyor.

     

     

    bychaos tarafından 03/Şub/17 20:27 tarihinde düzenlenmiştir

    İyi bir kalça sahibi olmanın, iyi bir kafa sahibi olmaktan daha fazla prim yaptığı bir ülkede, hiçbir şey daha ileriye gitmez. . Can Dündar.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bychaos
    bychaos's avatar
    Kayıt Tarihi: 03/Nisan/2007
    Erkek

    Not = Sorunu çözdüm fakat çok saçma geldi precedure yolladığım parametre ismini baz almıyormuş parametrenin index değeriyle eşleştirme yapıyomuş

     


    İyi bir kalça sahibi olmanın, iyi bir kafa sahibi olmaktan daha fazla prim yaptığı bir ülkede, hiçbir şey daha ileriye gitmez. . Can Dündar.
Toplam Hit: 695 Toplam Mesaj: 2
c# firebird