Timeout boolean connectionbreak Hatası ?
-
22 Haziran 2012 Cuma 17:01
Merhaba
Aşağıdaki kod çalışırken timeout booelan connectionbreak hatası alıyorum. Bu hatayı nasıl düzeltebilirim. Timeout 180 yaptım fakat hala bekletip aynı hatayı veriyor.
Button Click
insert cari....//Borç
class.maxislemno(tablename, kolonname);
insert cari....//Alacak kapama
class.maxislemno(tablename,kolonname); // Burada hata veriyor. Ve aşağıdaki kodda hata veriyor.
using (SqlConnection conkb = new SqlConnection(genel.kullanici.bag)) { cmdkb = new SqlCommand("SELECT MAX ("+kolonname+") AS no FROM "+hangitable, conkb); conkb.Open(); SqlDataReader dtr; dtr = cmdkb.ExecuteReader(CommandBehavior.CloseConnection);//Bu satırda hata veriyor. string idd = ""; while (dtr.Read()) { try { idd = Convert.ToString(dtr["no"]); } catch { idd = "0000000000"; } } dtr.Close(); conkb.Close();
Tüm Yanıtlar
-
22 Haziran 2012 Cuma 17:25
Merhaba DeveloperCsharp2012;
Genellikle O hatanın Sebebi oluşturduğun Query'nin işlenme süresinin çok fazla olmasından kaynaklanır..
Yapabileceklerin ...
1 - Sorgunu Direk Veritabanı üzerinde deneme şansın varsa onu dene..
2 - Sorguda MAX kullanmışsın MAX fonksiyonu sadece TEK BİR Sonuç döndüreceği için READER yerine ExecuteScalar kullansan senin için daha hoş olacaktır
3 - Zaten SqlConnection Using İçinde Kullanmışsın Neden READER'a CommandBehavior ile Bağlantıyı kapat diyorsun =) (ki Sanırsam HATA burda şimdi Farkettim)
birde bunu dene
using (SqlConnection conkb = new SqlConnection(genel.kullanici.bag)) { SqlCommand cmdkb = new SqlCommand("SELECT MAX (" + kolonname + ") AS no FROM " + hangitable, conkb); conkb.Open(); int DonenDeger = (int)cmdkb.ExecuteScalar(); }
Jesus Promised The End Of All Wicked People, ODIN Promised The End Of All Ice Giants. I Don't See Many Ice Giants Around... exe[nokta]cute[at]live[nokta]com
- Düzenleyen Exe.Cute 22 Haziran 2012 Cuma 17:59
- Yanıt Olarak Öneren Ali Rıza İnceoğluMicrosoft Contingent Staff, Owner 28 Haziran 2012 Perşembe 12:59
-
22 Haziran 2012 Cuma 17:44
executescalar ile çalıştı fakat aynı hatayı ikinci sorguda yine verdi.
Direk management studio dan sql query üstüste istediğim kadar execute yapabiliyorum.
- Düzenleyen DeveloperCsharp2012 22 Haziran 2012 Cuma 17:51
-
22 Haziran 2012 Cuma 17:58
Tekrar Merhaba ;
O zaman bende diyorum ki Proje Üzerinde Kapatmayı unuttuğun başka bir Connection falan olmasın..
birde Tabi İkinci sorguya da bakmak lazım =) Hatta Mail adresim aşağıda Komple bakmamı istersen.
Jesus Promised The End Of All Wicked People, ODIN Promised The End Of All Ice Giants. I Don't See Many Ice Giants Around... exe[nokta]cute[at]live[nokta]com
-
22 Haziran 2012 Cuma 18:06
Aslında yapı aşağıdaki gibi. Gönderirdim ama çok karışık bir kod.
transaction baslangıcı..
insert cari
class.maxislemno(cari)//Transactiona girmiyor.Farklı bir bağlantı ile sorguyu çekiyor.
insert cari kapama
class.maxislemno(cari)//Transactiona girmiyor. Farklı bir bağlantı ile sorgu.
döngü
insert kasa lar
insert banka lar
döngü
insert stoklar
Commit.transaction.
Yani aynı anda açık bir connection var ve transaction kullandım o connection ile birlikte.
-
22 Haziran 2012 Cuma 18:11
Yine Merhaba ;
Bunu kullanmanı Tavsiye Etmiyeceğim Ama birde Connection Stringini Buna Göre
Server=serverAdiBuraGele;Database=databaseAdiBuragele;Trusted_Connection=True; MultipleActiveResultSets=true;
Oluşturup sadece denemek amaçlı görsek ?
Jesus Promised The End Of All Wicked People, ODIN Promised The End Of All Ice Giants. I Don't See Many Ice Giants Around... exe[nokta]cute[at]live[nokta]com
-
22 Haziran 2012 Cuma 18:16multipleactiveresultsets i eski haline getirebilecekmiyiz ?
-
22 Haziran 2012 Cuma 18:18
aslında görmek istediğim yada bahsetmek istediğim olay bu ;
Birde transaction kullanıyorsun. Peki Transaction başladıkdan sonra Bağlantıyı açıyorsun, Sonra Bu Bağlantıyı Doğal olarak kapatmıyorsun değilmi ?
Daha sonra aradaki MAX çekmeler vb için yine Aynı Connection stringden den instance alıp bağlanıyorsun ?
Aç Kapa - aç kapa .. Transaction un başındaki açdığın bağlantı Commit işlemi yapamadan yalan olmasın bu arada =)
MARS ın orda durmasının aslında bir sakıncası yok... YETERKİ Connectionlarını Her İşlmeden sonra KAPATMAYI unutma
Jesus Promised The End Of All Wicked People, ODIN Promised The End Of All Ice Giants. I Don't See Many Ice Giants Around... exe[nokta]cute[at]live[nokta]com
-
22 Haziran 2012 Cuma 18:19Malasef olmadı. O açık olan sadece tek bir connecting. Onun dışında yok. zaten pool dolunca otamatik temizleyen kod kullanıyorum.
-
22 Haziran 2012 Cuma 18:30Merak Ettiğim ikinci sorguda hata alıyorum demişsin.. İkinci sorguda / işlemde de bir sıkıntı olmasın, kodu paylaşsan da göz atsak ? yada daha dikkatli kontrol etsen, nede olsa ilk sorguda sıkıntı yok artık.
Jesus Promised The End Of All Wicked People, ODIN Promised The End Of All Ice Giants. I Don't See Many Ice Giants Around... exe[nokta]cute[at]live[nokta]com
-
22 Haziran 2012 Cuma 18:41
ilk sorguda hiç problem olmadı. ikinci sorgu birinciyle aynı. aynı table da aynı kolon için MAX değerini alıyor.
işlem no yu alıyor.
birincisi cari hareketi borç için işlem no.
ikincisi ise cari hareketi alacak için işlem no
yani
classname.islemnobul("x_carihareket" + genel.kullanici.firmaid, "x_hareketno")bu direk insert olan kayıtın islem nosunun value si oluyor.
yani parameter.add("islemno", yukarıdaki kod); birinci ile ikinci arasında hiç bir fark yok. fark birincide borç ikincide alacak kayıtı için alacak yapıyor.
- Düzenleyen DeveloperCsharp2012 22 Haziran 2012 Cuma 18:45
-
22 Haziran 2012 Cuma 19:01
Sorgular Aynı diyorsunuz. Bir ihtimal..
using (SqlConnection conkb = new SqlConnection(genel.kullanici.bag)) { SqlCommand cmdkb = new SqlCommand("SELECT MAX (" + kolonname + ") AS no FROM " + hangitable, conkb); conkb.Open(); int DonenDeger = (int)cmdkb.ExecuteScalar(); }gibi yine basti bir yerde connection zaten Kapanacak iken açmaya-kapatmaya çalışmak gibi basit bir hatanız olmasın.
Hatayı göremiyorum, Code u göremiyorum dolayısı ile nasıl yardımcı olacağımı da bilemiyorum... Tavsiyem Transactionun başına Bir BreakPoint koyarak .. F11 ile adım adım neler oluyor bitiyor, Output ekranı ile kontrol etmenizi tavsiye etmekden başka birşey diyemiyorum.
İyi Çalışmalar.
Jesus Promised The End Of All Wicked People, ODIN Promised The End Of All Ice Giants. I Don't See Many Ice Giants Around... exe[nokta]cute[at]live[nokta]com
-
22 Haziran 2012 Cuma 21:53
Döngü içinde aynı kodu uygularsan bu hatayı veriyor.
40 defa döngüye sokarak deneyebilirsiniz.
-
23 Haziran 2012 Cumartesi 12:51
Döngü içinde aynı kodu uygularsan bu hatayı veriyor.
40 defa döngüye sokarak deneyebilirsiniz.
Ado.net dışında select max(kolonismi) from table ile kayıt çekmek için hangi yöntemler var ? Bildiklerinizi kodlayabilirmisiniz ? Birde o yöntemlerle deneyeyim.