C# SQL'a real veri tipi yazma hatası

GoRqi

Üye
17 Ara 2012
241
0
Selam Aleyküm arkadaşlar.
başlıkta da belirttiğim gibi sorunum C# ile sql a real tipinde veri yazamıyorum.tablodaki kolonun data Type'i real.
28NG2L.png

Yazdırmak istediğim veriler "1600,34668 , -3,232344 , -11,4326468 , -32 , 244,286652 ,1914,54541 " hep bu tür rakamlar.
zrldAO.png

Şimdi ben bu rakamları SQL üzerinden normal Query yaparak sorunsuzca işleyebiliyorum ama C# üzerinden yapamıyorum.Değişik değişik hatalar veriyo.
Error converting data type varchar to real.(Bu çok garip çünkü 1914,54541 bir rakam varchar degil.ama cevrilemedi diyor.)
veya
İnsert ile valu sayısı eşit degil gibisinden hata veriyo
Bu işlemi yapakarken herhangi bir çevirme falan mı yapmam gerekiyor veya nasıl bi yol izlemeliyim ? bilgisi olan arkadaşların yorumlarını bekliyorum.herkese teşekkürler.
NOT : bu tabloya yazmaya çalıştığım rakamları başka bir tablodan yine data type'i real olan kolondan çekiyorum.hatalı veri girme imkanı yok yani.
 

zztri

Yaşayan Forum Efsanesi
9 Tem 2015
10,053
390
Ankara
C# üzerinden gönderirken, gavuristan dilinde gönderiyorsundur. Virgül ve boşluk olamaz..

Ama sunucu ayarlarına göre bu da değişebiliyor. Emin olmak istersen yapacağın şu; mesela diyelim ki osman tablonda adnan ve vehbi real değerler.

Kod:
System.Data.SqlClient.SqlCommand komut = new System.Data.SqlClient.SqlCommand("insert into osman(adnan,vehbi) values (@adnan,@vehbi)", baglanti);
[COLOR="DimGray"]//komutumuzu girerken @ ile başlayan parametre adları yazıyoruz. Bunları sonra dolduracağız.[/COLOR]
komut.Parameters.Add("@adnan", 3.14159265359);
[COLOR="DimGray"]//Diğer kullanım türlerini salla. Type'ını kendi belirlesin.[/COLOR]
komut.Parameters.Add("@vehbi", 2.71828);
komut.ExecuteNonQuery();
[COLOR="DimGray"]//Hata verme ihtimali kalmadı.[/COLOR]
 

GoRqi

Üye
17 Ara 2012
241
0
Ben bu şekilde kullanıyorum.Bunun da sorunsuz çalışması gerekmez mi ?
Kod:
string Tab_RefNest = "INSERT INTO Tab_RefNest (dwNestID,dwHiveID,dwTacticsID,nRegionDBID,fLocalPosX,fLocalPosY,fLocalPosZ,wInitialDir,nRadius,nGenerateRadius,nChampionGenPercentage,dwDelayTimeMin,dwDelayTimeMax,dwMaxTotalCount,btFlag,btRespawn,btType) VALUES ("+MAXNESTID.Text+","+MAXHIVEID.Text+","+MAXTACTICID.Text+","+REGOIN.Text+","+X.Text+","+Y.Text+","+Z.Text+",0,"+RADIUS.Text+","+INTRADIUS.Text+",0,"+MİNDELAY.Text+","+MAXDELAY.Text+",1,0,1,0)";
SqlCommand yaz3 = new SqlCommand(Tab_RefNest, conn);
yaz3.ExecuteNonQuery();
 
Son düzenleme:

zztri

Yaşayan Forum Efsanesi
9 Tem 2015
10,053
390
Ankara
Ben bu şekilde kullanıyorum.Bunun da sorunsuz çalışması gerekmez mi ?
Kod:
string Tab_RefNest = "INSERT INTO Tab_RefNest (dwNestID,dwHiveID,dwTacticsID,nRegionDBID,fLocalPosX,fLocalPosY,fLocalPosZ,wInitialDir,nRadius,nGenerateRadius,nChampionGenPercentage,dwDelayTimeMin,dwDelayTimeMax,dwMaxTotalCount,btFlag,btRespawn,btType) VALUES ("+MAXNESTID.Text+","+MAXHIVEID.Text+","+MAXTACTICID.Text+","+REGOIN.Text+","+X.Text+","+Y.Text+","+Z.Text+",0,"+RADIUS.Text+","+INTRADIUS.Text+",0,"+MİNDELAY.Text+","+MAXDELAY.Text+",1,0,1,0)";
SqlCommand yaz3 = new SqlCommand(Tab_RefNest, conn);
yaz1.ExecuteNonQuery();

Textbox'ların içini gerçekten sayı olarak doldurduğun sürece, tabii ki... Ama bakıyoruz, "," var.. Orası olmuyor, hatayı bu verdiriyor..

En hızlı çözüm? Dil seçeneklerinde dilini gavurca'ya al, öyle çalıştır. .NET Framework ondalık işareti olarak . kullanmaya başlar, sorun çözülür.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.