merhaba arkadaşlar asp.net te db ye bir sorgu yaptığımda ve sorguyu string tipinde bir değişkene atadığımda eğer db boş dönerse beni catch e atıyor ama datatable tipine atarsa catch atmyor ve kontrol edebiliyorum db boş döndüğünde stringe nasıl boş değeri atabilirim teşekkürler?

Güncelleme :

Örnek kod:

string str= DAL.CustomDatas.GetStringValue("tablename", "id=" + id+ "");

Eğer sonuç null dönerse hata veriyor veriyor

public class CustomDatas
{
    public static string GetStringValue(string TableName, string Criteria)
    {
        System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "DAL_sp_SelectItemValue";
        cmd.Parameters.AddWithValue("@TableName", TableName);
        cmd.Parameters.AddWithValue("@Criteria", Criteria);
        return Convert.ToString(ExecuteScalar(cmd));
    }
}

soruldu: 18 May '15, 03:41

aspci's gravatar image

aspci
759404757
cevap kabul oranı: 25%

değiştirildi: 19 May '15, 03:59

M%C3%BCsl%C3%BCm%20%C3%96ZT%C3%9CRK's gravatar image

Müslüm ÖZTÜRK
10.6k103690

Ornek kodu paylasirmisin

(18 May '15, 05:42) Müslüm ÖZTÜRK M%C3%BCsl%C3%BCm%20%C3%96ZT%C3%9CRK's gravatar image

Db'den dönen sonuç string tipinde ise string değere atabilirsin. Ama anladığım kadarı ile datatable tipinde. Kodu paylaşırsan Müslüm arkadaşın dediği gibi net bir şey söyleyebiliriz.

(18 May '15, 08:35) Purecoder Purecoder's gravatar image

Buraya kadar bir sorun görülmüyor.ExecuteScalar(cmd) metodunu da yollar mısın?

(19 May '15, 03:53) Müslüm ÖZTÜRK M%C3%BCsl%C3%BCm%20%C3%96ZT%C3%9CRK's gravatar image

sorun yok zaten sorun sonuc boş döndüğünde "c# object reference not set to an instance of an object " böyle bir hata veriyor

(19 May '15, 04:36) aspci aspci's gravatar image
2

eğer öyle bir hata alıyorsan o zaman return işlemini var result=ExecuteScalar(cmd); if(result!=null) retun Convert.ToString(result); else return ""; şeklinde yap. en azından kontrolünü yaparsan o hatayı almassın.

(20 May '15, 02:53) jacksparrow47 jacksparrow47's gravatar image

jacksparrow47 dediğiniz gibi oldu teşekkürler doğru

(20 May '15, 03:41) aspci aspci's gravatar image
6 yorumdan 5 tanesi gösteriliyor hepsini göster

Sp üzerinde isnull komutunu kullanarak null gelmesini engelleyebilirsin SELECT ISNULL(deger, 'deger yok') FROM table1

veya

public static string GetStringValue(string TableName, string Criteria)
    {
        System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "DAL_sp_SelectItemValue";
        cmd.Parameters.AddWithValue("@TableName", TableName);
        cmd.Parameters.AddWithValue("@Criteria", Criteria);
        return Convert.ToString(ExecuteScalar(cmd)??**string.Empty**);
 //    diyerek null geldiğinde empty değer gelmesini saylayabilirsiniz

}
permanent link

cevaplandı: 05 Şub, 09:29

kerken's gravatar image

kerken
252
cevap kabul oranı: 0%

değiştirildi: 05 Şub, 09:42

 return Convert.ToString(ExecuteScalar(cmd);

satırını

object d = ExecuteScalar(cmd);
if (IsDbNull.Value == d || Null == d)
    return "Değer yok";
else
    return d.ToString();

gibi bir şey yapman lazım. ExecuteScalar, boş sonuç olarak duruma göre DBNull veya Null döndürür.

permanent link

cevaplandı: 05 Şub, 18:44

canora's gravatar image

canora
503
cevap kabul oranı: 0%

değiştirildi: 05 Şub, 18:46

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×238
×158
×53

Soruldu: 18 May '15, 03:41

Görüntüleme: 636 kez

Son güncelleme: 05 Şub, 18:46

powered by BitNami OSQA