System.InvalidCastException : Object cannot be cast from DBNull to other types - Mailing list pgsql-bugs

From M. Bilgehan İMAMOĞLU
Subject System.InvalidCastException : Object cannot be cast from DBNull to other types
Date
Msg-id 43379ec4.411aab92.2f72.ffff97ab@mx.gmail.com
Whole thread Raw
List pgsql-bugs
<div class="Section1"><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">Hi,</span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">I write a program with C#.</span></font><p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size:10.0pt;
font-family:Arial">When i try to execute SQL query with pgAdmin III Query tool, i can see all data
successfully.</span></font><pclass="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt; 
font-family:Arial">But i get “System.InvalidCastException : Object cannot be cast from DBNull to other types” error
whenexecute sql query with c# codes.</span></font><p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size:10.0pt;
font-family:Arial">I can see BASLIK,FO1,FO2,FO3 and FO4 coluns with query in C#.</span></font><p
class="MsoNormal"><fontface="Arial" size="2"><span style="font-size:10.0pt; 
font-family:Arial">But other columns have NULL value.</span></font><p class="MsoNormal"><font face="Arial"
size="2"><spanstyle="font-size:10.0pt; 
font-family:Arial">My code is like this;</span></font><p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size:10.0pt;
font-family:Arial"> </span></font><p class="MsoNormal" style="text-autospace:none"><font color="blue" face="Courier
New"size="2"><span style="font-size:10.0pt;font-family:"Courier New"; 
color:blue">string</span></font><font face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New"">_TEKLIF_ALANI = <font color="blue"><span style="color:blue">null</span></font>;</span></font><p class="MsoNormal"
style="text-autospace:none"><fontcolor="blue" face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"; 
color:blue">switch</span></font><font face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New"">(cmb_birim_secim.SelectedItem.Value)</span></font><pclass="MsoNormal" style="text-autospace:none"><font
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family:"Courier New"">{</span></font><p class="MsoNormal"
style="text-indent:35.4pt;text-autospace:none"><fontcolor="blue" face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"; 
color:blue">case</span></font><font face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New"">"1":</span></font><p class="MsoNormal" style="text-autospace:none"><font face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"">            _TEKLIF_ALANI = "BIRIM_TEKLIF";</span></font><p
class="MsoNormal"style="text-autospace:none"><font face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"">            <font color="blue"><span
style="color:blue">break</span></font>;</span></font><pclass="MsoNormal" style="text-autospace:none"><font
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family:"Courier New"">      <font color="blue"><span
style="color:blue">case</span></font>"2":</span></font><p class="MsoNormal" style="text-autospace:none"><font
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family:"Courier New"">            _TEKLIF_ALANI =
"SAYMAN_TEKLIF";</span></font><pclass="MsoNormal" style="text-autospace:none"><font face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"">            <font color="blue"><span
style="color:blue">break</span></font>;</span></font><pclass="MsoNormal" style="text-autospace:none"><font
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family:"Courier New"">      <font color="blue"><span
style="color:blue">case</span></font>"3":</span></font><p class="MsoNormal" style="text-autospace:none"><font
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family:"Courier New"">            _TEKLIF_ALANI =
"BASKAN_TEKLIF";</span></font><pclass="MsoNormal" style="text-autospace:none"><font face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"">            <font color="blue"><span
style="color:blue">break</span></font>;</span></font><pclass="MsoNormal" style="text-autospace:none"><font
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family:"Courier New"">      <font color="blue"><span
style="color:blue">case</span></font>"4":</span></font><p class="MsoNormal" style="text-autospace:none"><font
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family:"Courier New"">            _TEKLIF_ALANI =
"ENCUMEN_TEKLIF";</span></font><pclass="MsoNormal" style="text-autospace:none"><font face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"">            <font color="blue"><span
style="color:blue">break</span></font>;</span></font><pclass="MsoNormal" style="text-autospace:none"><font
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family:"Courier New"">      <font color="blue"><span
style="color:blue">case</span></font>"5":</span></font><p class="MsoNormal" style="text-autospace:none"><font
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family:"Courier New"">            _TEKLIF_ALANI =
"KOMISYON_TEKLIF";</span></font><pclass="MsoNormal" style="text-autospace:none"><font face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"">            <font color="blue"><span
style="color:blue">break</span></font>;</span></font><pclass="MsoNormal" style="text-autospace:none"><font
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family:"Courier New"">      <font color="blue"><span
style="color:blue">case</span></font>"6":</span></font><p class="MsoNormal" style="text-autospace:none"><font
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family:"Courier New"">            _TEKLIF_ALANI =
"KESIN_TEKLIF";</span></font><pclass="MsoNormal" style="text-autospace:none"><font face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"">            <font color="blue"><span
style="color:blue">break</span></font>;</span></font><pclass="MsoNormal" style="text-autospace:none"><font
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family:"Courier New"">}</span></font><p class="MsoNormal"
style="text-autospace:none"><fontface="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New""> </span></font><pclass="MsoNormal" style="text-autospace:none"><font color="blue" face="Courier New"
size="2"><spanstyle="font-size:10.0pt;font-family:"Courier New"; 
color:blue">string</span></font><font face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New"">command = <font color="blue"><span style="color:blue">null</span></font>;</span></font><p class="MsoNormal"
style="text-autospace:none"><fontface="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New"">command= "SELECT \"KURUMSAL\".\"BASLIK\" AS \"BIRIM_ADI\",CASE WHEN
to_number(\"FONKSIYONEL\".\"KOD_1\",'9999')>0THEN \"FONKSIYONEL\".\"KOD_1\" ELSE '&nbsp;' END AS \"FO1\",CASE
WHENto_number(\"FONKSIYONEL\".\"KOD_2\",'9999')>0 THEN \"FONKSIYONEL\".\"KOD_2\" ELSE '&nbsp;' END AS
\"FO2\",CASEWHEN to_number(\"FONKSIYONEL\".\"KOD_3\",'9999')>0 THEN \"FONKSIYONEL\".\"KOD_3\" ELSE '&nbsp;' END
AS\"FO3\",CASE WHEN to_number(\"FONKSIYONEL\".\"KOD_4\",'9999')>0 THEN \"FONKSIYONEL\".\"KOD_4\" ELSE '&nbsp;'
ENDAS \"FO4\",CASE WHEN to_number(\"FINANSAL\".\"KOD_1\",'9999')>0 THEN \"FINANSAL\".\"KOD_1\" ELSE '&nbsp;' END
AS\"FI1\",CASE WHEN to_number(\"EKONOMIK_GIDER\".\"KOD_1\",'9999')>0 THEN \"EKONOMIK_GIDER\".\"KOD_1\" ELSE
'&nbsp;'END AS \"E1\",CASE WHEN to_number(\"EKONOMIK_GIDER\".\"KOD_2\",'9999')>0 THEN
\"EKONOMIK_GIDER\".\"KOD_2\"ELSE '&nbsp;' END AS \"E2\",CASE WHEN
to_number(\"EKONOMIK_GIDER\".\"KOD_3\",'9999')>0THEN \"EKONOMIK_GIDER\".\"KOD_3\" ELSE '&nbsp;' END AS
\"E3\",CASEWHEN to_number(\"EKONOMIK_GIDER\".\"KOD_4\",'9999')>0 THEN \"EKONOMIK_GIDER\".\"KOD_4\" ELSE '&nbsp;'
ENDAS \"E4\",\"EKONOMIK_GIDER\".\"BASLIK\" AS \"ACIKLAMA\",\"GIDER_BUTCESI\".\"" + _TEKLIF_ALANI + "\" AS
\"TEKLIF\",trim(both' ' from to_char(\"GIDER_BUTCESI\".\"GIDER_ID\",'9999')) || '&secim="  +
cmb_birim_secim.SelectedItem.Value+ "' AS \"BUTCE_ID\" FROM
\"KURUMSAL\",\"FONKSIYONEL\",\"FINANSAL\",\"EKONOMIK_GIDER\",\"GIDER_BUTCESI\"WHERE \"GIDER_BUTCESI\".\"KURUMSAL_ID\"="
+_kurum_kodu._getID + " AND \"GIDER_BUTCESI\".\"KURUMSAL_ID\"=\"KURUMSAL\".\"KURUMSAL_ID\" AND
\"GIDER_BUTCESI\".\"FONKSIYONEL_ID\"=\"FONKSIYONEL\".\"FONKSIYONEL_ID\"AND
\"GIDER_BUTCESI\".\"FINANSAL_ID\"=\"FINANSAL\".\"FINANSAL_ID\"AND
\"GIDER_BUTCESI\".\"EKONOMIK_ID\"=\"EKONOMIK_GIDER\".\"EKONOMIK_ID\"AND \"GIDER_BUTCESI\".\"BIRIM_TEKLIF\">0 ORDER
BY
\"FONKSIYONEL\".\"KOD_1\",\"FONKSIYONEL\".\"KOD_2\",\"FONKSIYONEL\".\"KOD_3\",\"FONKSIYONEL\".\"KOD_4\",\"FINANSAL\".\"KOD_1\",\"EKONOMIK_GIDER\".\"KOD_1\",";</span></font><p
class="MsoNormal"style="text-autospace:none"><font face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"">command += "\"EKONOMIK_GIDER\".\"KOD_2\",";</span></font><p
class="MsoNormal"style="text-autospace:none"><font face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"">command += "\"EKONOMIK_GIDER\".\"KOD_3\"";</span></font><p
class="MsoNormal"style="text-autospace:none"><font face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"">command += ",\"EKONOMIK_GIDER\".\"KOD_4\"";</span></font><p
class="MsoNormal"style="text-autospace:none"><font face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"">            </span></font><p class="MsoNormal"
style="text-autospace:none"><fontface="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New"">DataTabledt = GenelClass.SelectSonucu(command);</span></font><p class="MsoNormal"
style="text-autospace:none"><fontcolor="blue" face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"; 
color:blue">double</span></font><font face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New"">_PARA = 0;</span></font><p class="MsoNormal" style="text-autospace:none"><font color="blue" face="Courier New"
size="2"><spanstyle="font-size:10.0pt;font-family:"Courier New"; 
color:blue">for</span></font><font face="Courier New" size="2"><span style="font-size:10.0pt;font-family:"Courier
New"">(<fontcolor="blue"><span style="color:blue">int</span></font> i=0; i<dt.Rows.Count; i++)</span></font><p
class="MsoNormal"style="text-autospace:none"><font face="Courier New" size="2"><span
style="font-size:10.0pt;font-family:"CourierNew"">      _PARA +=
Convert.ToDouble(dt.Rows[i]["TEKLIF"]);</span></font><pclass="MsoNormal" style="text-autospace:none"><font
face="CourierNew" size="2"><span style="font-size:10.0pt;font-family:"Courier New"">lbl_toplam.Text =
Convert.ToString(_PARA)+ " YTL";</span></font><p class="MsoNormal" style="text-autospace:none"><font face="Courier New"
size="2"><spanstyle="font-size:10.0pt;font-family:"Courier New"">rptr_butce_fisi.DataSource = dt;</span></font><p
class="MsoNormal"><fontface="Courier New" size="2"><span style="font-size:10.0pt; 
font-family:"Courier New"">rptr_butce_fisi.DataBind();</span></font><font face="Arial" size="2"><span
style="font-size:10.0pt;font-family:Arial"></span></font><pclass="MsoNormal"><font face="Arial" size="2"><span
style="font-size:10.0pt;
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">thanks ,</span></font><p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size:10.0pt;
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">Bilgehan</span></font></div>

pgsql-bugs by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: BUG #1815: ECPGdebug causes crash on Windows XP
Next
From: Tobias Brox
Date:
Subject: String Comparision Weirdness