Forum

c# sql declare
 
Bildirimler
Hepsini Temizle

c# sql declare

4 Yazılar
3 Üyeler
0 Likes
479 Görüntüleme
(@rkola)
Gönderiler: 3
Active Member
Konu başlatıcı
 

Merhaba Arkadaşlar,


 Aşağıdaki cümleyi SQL Management Studio içinden çok rahatlıkla çalıştırıp çok hızlı bir şekilde sonuç alıyorum. Ancak ben bu cümleyi codebehind içinden çalıştırmak istiyorum ve null değer dönüyor. ne yapabilirim?


DECLARE @CARIBAKIYE TABLE (TARIH DATETIME,INC_KEY_NUMBER INT, BELGE_NO VARCHAR(15), ACIKLAMA VARCHAR(50), BORC FLOAT,ALACAK FLOAT, BAKIYE FLOAT)


DECLARE @BAKIYE FLOAT
SET
@BAKIYE = 0


INSERT INTO @CARIBAKIYE
SELECT TARIH DATETIME ,INC_KEY_NUMBER, BELGE_NO, ACIKLAMA, BORC,ALACAK, null
FROM TBLCAHAR WHERE CARI_KOD='AP21307047'
ORDER BY TARIH,INC_KEY_NUMBER


UPDATE @CARIBAKIYE
SET @BAKIYE = BAKIYE = @BAKIYE + (BORC-ALACAK)
FROM @CARIBAKIYE


SELECT TARIH,BELGE_NO,ACIKLAMA,BORC,ALACAK,(CASE WHEN BAKIYE > 0 THEN BAKIYE ELSE 0 END)BORCBAKIYE,
(
CASE WHEN BAKIYE < 0 THEN BAKIYE-(BAKIYE*2) ELSE 0 END)ALACAKBAKIYE
FROM @CARIBAKIYE
ORDER BY TARIH,INC_KEY_NUMBER ASC


------------------------------------
c# codebehind
------------------------------------


DataTable dth = new DataTable();
OleDbConnection con = conn.Baglanti();
con.Open();


string sql = "...." //yukarıdaki kod


OleDbDataAdapter dha = new OleDbDataAdapter(sql, con);
dha.Fill(dth);


---------------------------------------


Teşekkürler,

 
Gönderildi : 27/09/2010 14:51

(@mesutaladag)
Gönderiler: 327
Reputable Member
 

SQL kodunu SQL'de bir sp olarak hazirlayin.


C# tarafindan da bu stored procedure parametrelerine sadece gerekli degerleri gonderin yeter.


http://www.codeproject.com/KB/cs/simplecodeasp.aspx      adresinde adim adim bir ornegini referans alarak uygulayabilirsin.


 


Mesut Aladag.
Microsoft MVP - MCT

 
Gönderildi : 28/09/2010 15:14

(@rkola)
Gönderiler: 3
Active Member
Konu başlatıcı
 

Hocam ilginize teşekkür ederim. Bu yöntemi biliyorum. Proje içinde çok fazla bu tür sql sorgularına ihtiyacım var. Dolayısıyla her biri için sp oluşturmak çok mantıklı gelmedi bana. Bu kodun c# içinde oledb veya herhangi bir nesne üzerinden çalıştırılması mümkün müdür?


 Teşekkürler,

 
Gönderildi : 30/09/2010 12:25

(@AhmetRende)
Gönderiler: 138
Estimable Member
 

sorgudaki özel karaktterlerden dolayı null dönüyor olabilir.

mantıklı olan Mesut hocamın dedigi gibi procedure yazmaktir ama madem böle istiyorsunuz..

sorgunuzu bir txt dosyasına kaydedin. ve c#ta streamreader ile hepsini bir stringe atın. kendisi kaçış karakterlerini oluşturarak tam istediginiz sorguyu alacak. o zaman sorguyu çalıştırabilirsiniz.

şu makalede gayet açık bir şekilde anlatılmış.

http://dotnetperls.com/streamreader

 
Gönderildi : 19/11/2010 15:06

Paylaş: