(Numeric,28,9) şeklinde tanımlı fir fielda veri kaydetmek..

Delphi .net ve .net ile ilgili konuları buraya yazabilirsiniz.
Cevapla
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

(Numeric,28,9) şeklinde tanımlı fir fielda veri kaydetmek..

Mesaj gönderen serkan »

Selam arkadaşlar bir ticari program ile entegre B2B web sitesi hazırlamaktayım.
Ticari programda siparistutar alanı (Numeric,28,9) şeklinde tanımlanmış (MS SQL).Webformumda textbox1 içinde 49,99 değeri bulunmakta bunu insert into ile bu siparistutar alanına kaydetmeliyim ama tip hatası veriyor.Ne yapmam lazım sizce..
durum biraz acil..
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: (Numeric,28,9) şeklinde tanımlı fir fielda veri kaydetmek..

Mesaj gönderen Battosai »

Ne yapacaksın tipini değiştireceksin... :twisted: Bu kadar basit. Yani yaptığın işe göre biraz acemice bir soru olmuş.
Tutar alanı parasal bir alan olduğu için alanı decimal,float,currency,real gibi tiplerde tanımlamalısın
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Re: (Numeric,28,9) şeklinde tanımlı fir fielda veri kaydetmek..

Mesaj gönderen serkan »

hocam o kadarını bende düşündümde, convert.ToNumeric diye bir fonksiyon yok.textbox1 deki 49,99 luk değer doğal olarak string türünde covert.ToDouble(TextBox1.Text) şeklinde denemiştim yine tip hatası vermişti..
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: (Numeric,28,9) şeklinde tanımlı fir fielda veri kaydetmek..

Mesaj gönderen unicorn64 »

@battosai sanırım veritabanındaki alanın tipini değiştirmeyi kasdetmiş.
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Re: (Numeric,28,9) şeklinde tanımlı fir fielda veri kaydetmek..

Mesaj gönderen serkan »

onu malesef yapamam çünkü program paket bir program tipi değiştirirsem program hata verecek.Yani program kendi yazılımımız değil malesef..

yalnız şöyle bir durum var
49,99 değilde 49.99 şeklinde yazılırsa bunu kaydediyor. fakar datalistden aldığım için değeri
49.99 olarak alamıyorum..
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: (Numeric,28,9) şeklinde tanımlı fir fielda veri kaydetmek..

Mesaj gönderen aslangeri »

s.a.
serverin bölgesel ayarları ile ilgil bir durum.
uygulamanızda ondalık ayracını , bindelik ayracını kontrol edebiliyorsanız onları kontrol etmeyi deneyin.
kola ygelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Re: (Numeric,28,9) şeklinde tanımlı bir fielda veri kaydetmek..

Mesaj gönderen serkan »

madem virgülden hoşlanmadı bu numeric alan bende çözümü kayıttan önce;

Kod: Tümünü seç

string s = Regex.Replace(gvr.Cells[2].Text, @",", ".");
komutu ile replace yaparak çözdüm. döngü ile Gridview1 deki kayıtların tümünü sipariş tablosuna kaydettiriyorum.
(gvr.Cells[2].Text) gridde tutar alanının bulunduğu yer oluyor burdaki değerde virgülleri nokta yapıp s değişkenine atıp
insert into komutunda s değişkeninden kaydı yaptırıyorum.

yukardaki kod başkalarınada lazım olabilir diye yazıyorum fakat bunu kullanabilmek için

Kod: Tümünü seç

using System.Text.RegularExpressions;
kodunun eklenmesi gerekmekte..
En son serkan tarafından 18 Oca 2009 05:28 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: (Numeric,28,9) şeklinde tanımlı fir fielda veri kaydetmek..

Mesaj gönderen Battosai »

Burda garip olan numeric alan tipi için ondalık ifade kabul etmesi MsSQL adlandırmaları aldatıcı gibi Numeric görünce sadece rakam kabul eden bir alan olması icap ediyor tanıma göre...bu yüzden değiştir demiştim...Çözüm için doğru yöntem seçmişsin bende MySQL için virgül nokta değişimi yapıyorum Ondalık ayraç olarak nokta(.) kullandıkları için böyle bir sorun çıkıyor...Fakat ben parasal değerin binlik ayracı olarak nokta ondalık için virgül kullanmak istediğimden değeri replace ile değiştiriyorum...Sen daha basit bir çözüm istiyorsan açılışta thousandseparator:=',' ve decimal içinde '.' tanımlarsan replace yapman gerekmeyecektir....
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Re: (Numeric,28,9) şeklinde tanımlı fir fielda veri kaydetmek..

Mesaj gönderen serkan »

windows uygulaması olsa dediğin gibi açılışta decimalseparatoru kullanırım ama web uygulamalarında varmı bilmiyorum benimde aklıma ilk o geldi ama bulamayınca replace ile işi çözdük...
yardım ve fikirleriniz için teşekkürler.
Cevapla