programdan mssql gelen veriyi parçalayıp verileri tabloya kaydetme
6
●630
- 29-10-2012, 15:32:25iyi günler arkadaşlar bir sorunlar karşı karşıyayım yardımcı olursanız çok sevinirim.sorunum şu procedur ile dışardan mssql'e bir değer alıyorum programdan misal elma,armut,şeftali,kiraz, bu gelen değeri çarpalayıp hepsini tabloya nasıl insert edebilirm.
- 29-10-2012, 15:42:45Kimlik doğrulama veya yönetimden onay bekliyor.İster sql tarafında ister kod tarafında split edebilirsin.
Örnek:
Bu kod sana parçalı şekilde verecektir. For loop'a alırsan istediğin gibi değerleri alırsın.
string[] value = textbox.text.split(','); for(int i=0; i<value.Lenght; i++) string val = value[i]; - 29-10-2012, 16:32:34Dedigini basta bende dusundum ama bunu yaparsam iki tane procedur kullanmis olucam bunu onune gecmek icin veritabninda parcalamam gerekiyor gelen veriyi. Telefondan girdigim icin kodlara ulasamiyorum eve gidince yollarim buraya
- 29-10-2012, 18:30:34peki şöyle bir veri gelse veritabanına DECLARE @isim VARCHAR(100) SET @isim = 'elma,artmut,çilek,karpuz,üzüm' bunları parçalayıp hepsi tabloya nasıl eklebiliriz.kod kısmında olsa devamlı insert işlemi yapıcak o yüzden veritabanında bitirmek isitiyorum bu işi
- 29-10-2012, 21:41:53Birden fazla gelen için ekstra fazla kod yazman gerek.
Şu örnek işine yarar.
declare @index int, @chars varchar(max), @string nvarchar(max) = 'a,b,c,d,e', @delimiter nvarchar(1) = ',' select @index = 1 if len(@string)<1 or @string is null return while @index!= 0 begin set @index = charindex(@delimiter,@string) if @index!=0 set @chars = left(@string,@index - 1) else set @chars = @string set @string = right(@string,len(@string) - @index) if len(@string) = 0 break print(@chars) endBu sana direk şu şekilde sonuç verir.
a
b
c
d
e