Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Data Bases > Pgsql Interfaces Odbc > weird vb6 odbc ...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 1 of 2 Topic 2267 of 2383
Post > Topic >>

weird vb6 odbc null problem

by lshafranovich@[EMAIL PROTECTED] Dec 14, 2007 at 12:33 PM

------=_Part_30181_11445657.1197653581434
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi,=C2=A0I'm=C2=A0a=C2=A0newbie=C2=A0to=C2=A0Postgres=C2=A0and=C2=A0ADO/ODB=
C=C2=A0programming.=C2=A0=C2=A0I=C2=A0have=C2=A0a=C2=A0weird=C2=A0problem.=
=C2=A0=C2=A0I=C2=A0have=C2=A0a=C2=A0table=C2=A0called=C2=A0scoredata=C2=A0w=
hich=C2=A0every=C2=A0time=C2=A0I=C2=A0update=C2=A0(from=C2=A0VB6=C2=A0via=
=C2=A0ODBC=C2=A0driver=C2=A008.02.0200=C2=A0Postgres=C2=A0version=C2=A08.2.=
5)=C2=A0a=C2=A0specific=C2=A0smallint=C2=A0field=C2=A0to=C2=A0null,=C2=A0it=
=C2=A0gets=C2=A0filled=C2=A0in=C2=A0with=C2=A0a=C2=A02,=C2=A04,=C2=A0or=C2=
=A06.
Here=C2=A0is=C2=A0the=C2=A0applicable=C2=A0code=C2=A0(I=C2=A0simplified=C2=
=A0it=C2=A0a=C2=A0little=C2=A0to=C2=A0make=C2=A0it=C2=A0shorter):


dim=C2=A0bysCN=C2=A0As=C2=A0New=C2=A0ADODB.Connection
dim=C2=A0scoredataRecordset=C2=A0as=C2=A0ADODB.Recordset

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0bysCN.ConnectionString=C2=A0=3D=C2=A0"DRIVER=
=3D{PostgreSQL=C2=A0
unicode};Server=3Dservername;****t=3D5432;Database=3Dmslocal;Uid=3Ddbadmin;P=
wd=3Dpassword;"
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0bysCN.Mode=C2=A0=3D=C2=A0adModeReadWrite
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0bysCN.Open


=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Set=C2=A0scoredataRecordset=C2=A0=3D=C2=A0New=
=C2=A0ADODB.Recordset
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0scoredataRecordset.CursorLocation=C2=A0=3D=C2=
=A0adUseClient
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0scoredataRecordset.Open=C2=A0"select=C2=A0*=
=C2=A0from=C2=A0scoredata=C2=A0where=C2=A0"+Chr(34)+"class=C2=A0id"+Chr(34)=
+"=C2=A0=3D=C2=A06271",=C2=A0bysCN,=C2=A0
adOpenKeyset,=C2=A0adLockOptimistic
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0...
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0scoredataRecordset.Fields("average")=3DNull
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0scoredataRecordset.Update

At=C2=A0this=C2=A0point=C2=A0if=C2=A0I=C2=A0query=C2=A0the=C2=A0database=C2=
=A0it=C2=A0the=C2=A0"average"=C2=A0field=C2=A0is=C2=A0filled=C2=A0in=C2=A0w=
ith=C2=A0a=C2=A02,4,=C2=A0or=C2=A06.=C2=A0=C2=A0This=C2=A0problem=C2=A0only=
=C2=A0seems=C2=A0to=C2=A0happen=C2=A0if=C2=A0the=C2=A0field=C2=A0was=C2=A0n=
ot=C2=A0null=C2=A0before=C2=A0but=C2=A0then=C2=A0was=C2=A0changed=C2=A0to=
=C2=A0null.

This=C2=A0is=C2=A0my=C2=A0table:

=C2=A0class=C2=A0id=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0|=C2=A0bigint=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0|=C2=A0not=C2=A0null
=C2=A0stud=C2=A0id=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0|=C2=A0integer=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
|=C2=A0not=C2=A0null
=C2=A0average=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0|=C2=A0smallint=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|
=C2=A0othergrade=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|=C2=A0char=
acter=C2=A0varying(5)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|
=C2=A0override=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|=
=C2=A0character=C2=A0varying(5)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0|
=C2=A0de****tment=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|=C2=A0char=
acter=C2=A0varying(5)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|
=C2=A0numericcomments=C2=A0=C2=A0=C2=A0|=C2=A0character=C2=A0varying(25)=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|
=C2=A0datecreated=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|=C2=A0timestamp=
=C2=A0without=C2=A0time=C2=A0zone=C2=A0|=C2=A0default=C2=A0now()
=C2=A0usercreated=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|=C2=A0character=
=C2=A0varying(5)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|
=C2=A0userupdated=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|=C2=A0character=
=C2=A0varying(5)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|
=C2=A0othergrade_reason=C2=A0|=C2=A0character=C2=A0varying(2048)=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0|
=C2=A0de****tment_reason=C2=A0|=C2=A0character=C2=A0varying(2048)=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0|
=C2=A0id=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|=C2=A0integer=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0|=C2=A0not=C2=A0null=C2=A0default=C2=A0nextval('scored=
ata_id_seq'::regclass)
=C2=A0thelevel=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|=
=C2=A0smallint=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|=C2=A0default=
=C2=A00
=C2=A0comment=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0|=C2=A0character=C2=A0varying(2048)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0|
Indexes:
=C2=A0=C2=A0=C2=A0=C2=A0"scoredata_pkey"=C2=A0PRIMARY=C2=A0KEY,=C2=A0btree=
=C2=A0(id)
=C2=A0=C2=A0=C2=A0=C2=A0"scoredata_stud_id_class_id"=C2=A0UNIQUE,=C2=A0btre=
e=C2=A0("class=C2=A0id",=C2=A0"stud=C2=A0id")
=C2=A0=C2=A0=C2=A0=C2=A0"scoredata_class_id"=C2=A0btree=C2=A0("class=C2=A0i=
d")
=C2=A0=C2=A0=C2=A0=C2=A0"scoredata_stud_id"=C2=A0btree=C2=A0("stud=C2=A0id"=
)
Foreign-key=C2=A0constraints:
=C2=A0=C2=A0=C2=A0=C2=A0"scoredata_class=C2=A0id_fkey"=C2=A0FOREIGN=C2=A0KE=
Y=C2=A0("class=C2=A0id")=C2=A0REFERENCES=C2=A0cl*****("class=C2=A0id")
=C2=A0=C2=A0=C2=A0=C2=A0"scoredata_de****tment_fkey"=C2=A0FOREIGN=C2=A0KEY=
=C2=A0(de****tment)=C2=A0REFERENCES=C2=A0de****tment(de****tment)
=C2=A0=C2=A0=C2=A0=C2=A0"scoredata_othergrade_fkey"=C2=A0FOREIGN=C2=A0KEY=
=C2=A0(othergrade)=C2=A0REFERENCES=C2=A0other_grades(other_grades)

Thank=C2=A0you=C2=A0so=C2=A0much=C2=A0for=C2=A0your=C2=A0help.=C2=A0=C2=A0I=
=C2=A0apologize=C2=A0if=C2=A0I=C2=A0posted=C2=A0or=C2=A0formatted=C2=A0this=
=C2=A0incorrectly.

L.=C2=A0Shafranovich
------=_Part_30181_11445657.1197653581434
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<html><head></head><body>Hi,&nbsp;I'm&nbsp;a&nbsp;newbie&nbsp;to&nbsp;Postg=
res&nbsp;and&nbsp;ADO/ODBC&nbsp;programming.&nbsp;&nbsp;I&nbsp;have&nbsp;a&=
nbsp;weird&nbsp;problem.&nbsp;&nbsp;I&nbsp;have&nbsp;a&nbsp;table&nbsp;call=
ed&nbsp;scoredata&nbsp;which&nbsp;every&nbsp;time&nbsp;I&nbsp;update&nbsp;(=
from&nbsp;VB6&nbsp;via&nbsp;ODBC&nbsp;driver&nbsp;08.02.0200&nbsp;Postgres&=
nbsp;version&nbsp;8.2.5)&nbsp;a&nbsp;specific&nbsp;smallint&nbsp;field&nbsp=
;to&nbsp;null,&nbsp;it&nbsp;gets&nbsp;filled&nbsp;in&nbsp;with&nbsp;a&nbsp;=
2,&nbsp;4,&nbsp;or&nbsp;6.<br>Here&nbsp;is&nbsp;the&nbsp;applicable&nbsp;co=
de&nbsp;(I&nbsp;simplified&nbsp;it&nbsp;a&nbsp;little&nbsp;to&nbsp;make&nbs=
p;it&nbsp;shorter):<br><br><div style=3D"margin-left:
40px;">dim&nbsp;bysCN=
&nbsp;As&nbsp;New&nbsp;ADODB.Connection<br>dim&nbsp;scoredataRecordset&nbsp=
;as&nbsp;ADODB.Recordset<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bysCN.Connect=
ionString&nbsp;=3D&nbsp;"DRIVER=3D{PostgreSQL&nbsp;<br>unicode};Server=3Dse=
rvername;****t=3D5432;Database=3Dmslocal;Uid=3Ddbadmin;Pwd=3Dpassword;"<br>&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bysCN.Mode&nbsp;=3D&nbsp;adModeReadWrite<br>&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;bysCN.Open<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;Set&nbsp;scoredataRecordset&nbsp;=3D&nbsp;New&nbsp;ADODB.Recordset<br>=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scoredataRecordset.CursorLocation&nbsp;=3D&nb=
sp;adUseClient<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scoredataRecordset.Open&nbs=
p;"select&nbsp;*&nbsp;from&nbsp;scoredata&nbsp;where&nbsp;"+Chr(34)+"class&=
nbsp;id"+Chr(34)+"&nbsp;=3D&nbsp;6271",&nbsp;bysCN,&nbsp;<br>adOpenKeyset,&=
nbsp;adLockOptimistic<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...<br>&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;scoredataRecordset.Fields("average")=3DNull<br>&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;scoredataRecordset.Update<br></div><br>At&nbsp;this&nbsp=
;point&nbsp;if&nbsp;I&nbsp;query&nbsp;the&nbsp;database&nbsp;it&nbsp;the&nb=
sp;"average"&nbsp;field&nbsp;is&nbsp;filled&nbsp;in&nbsp;with&nbsp;a&nbsp;2=
,4,&nbsp;or&nbsp;6.&nbsp;&nbsp;This&nbsp;problem&nbsp;only&nbsp;seems&nbsp;=
to&nbsp;happen&nbsp;if&nbsp;the&nbsp;field&nbsp;was&nbsp;not&nbsp;null&nbsp=
;before&nbsp;but&nbsp;then&nbsp;was&nbsp;changed&nbsp;to&nbsp;null.<br><br>=
This&nbsp;is&nbsp;my&nbsp;table:<br><div style=3D"margin-left:
40px;">&nbsp=
;class&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|=
&nbsp;bigint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp=
;not&nbsp;null<br>&nbsp;stud&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;|&nbsp;not&nbsp;null<br>&nbsp;average&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;smallint&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>&nbsp;othergrade&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;character&nbsp;varying(5)&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>&nbsp;override&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;character&nbsp;varying(5)&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>&nbsp;de****tment&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;character&nbsp;varying(5)&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>&nbsp;numericcomments&nbsp;&nbsp;=
&nbsp;|&nbsp;character&nbsp;varying(25)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;|<br>&nbsp;datecreated&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbs=
p;timestamp&nbsp;without&nbsp;time&nbsp;zone&nbsp;|&nbsp;default&nbsp;now()=
<br>&nbsp;usercreated&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;chara=
cter&nbsp;varying(5)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>&n=
bsp;userupdated&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;character&n=
bsp;varying(5)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>&nbsp;ot=
hergrade_reason&nbsp;|&nbsp;character&nbsp;varying(2048)&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;|<br>&nbsp;de****tment_reason&nbsp;|&nbsp;character&nbsp;varying(=
2048)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp=
;integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;not&nbsp;=
null&nbsp;default&nbsp;nextval('scoredata_id_seq'::regclass)<br>&nbsp;thele=
vel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;small=
int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;default&nbsp;0<br>&n=
bsp;comment&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;|&nbsp;character&nbsp;varying(2048)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>Ind=
exes:<br>&nbsp;&nbsp;&nbsp;&nbsp;"scoredata_pkey"&nbsp;PRIMARY&nbsp;KEY,&nb=
sp;btree&nbsp;(id)<br>&nbsp;&nbsp;&nbsp;&nbsp;"scoredata_stud_id_class_id"&=
nbsp;UNIQUE,&nbsp;btree&nbsp;("class&nbsp;id",&nbsp;"stud&nbsp;id")<br>&nbs=
p;&nbsp;&nbsp;&nbsp;"scoredata_class_id"&nbsp;btree&nbsp;("class&nbsp;id")<=
br>&nbsp;&nbsp;&nbsp;&nbsp;"scoredata_stud_id"&nbsp;btree&nbsp;("stud&nbsp;=
id")<br>Foreign-key&nbsp;constraints:<br>&nbsp;&nbsp;&nbsp;&nbsp;"scoredata=
_class&nbsp;id_fkey"&nbsp;FOREIGN&nbsp;KEY&nbsp;("class&nbsp;id")&nbsp;REFE=
RENCES&nbsp;cl*****("class&nbsp;id")<br>&nbsp;&nbsp;&nbsp;&nbsp;"scoredata_=
de****tment_fkey"&nbsp;FOREIGN&nbsp;KEY&nbsp;(de****tment)&nbsp;REFERENCES&nb=
sp;de****tment(de****tment)<br>&nbsp;&nbsp;&nbsp;&nbsp;"scoredata_othergrade_=
fkey"&nbsp;FOREIGN&nbsp;KEY&nbsp;(othergrade)&nbsp;REFERENCES&nbsp;other_gr=
ades(other_grades)<br></div><br>Thank&nbsp;you&nbsp;so&nbsp;much&nbsp;for&n=
bsp;your&nbsp;help.&nbsp;&nbsp;I&nbsp;apologize&nbsp;if&nbsp;I&nbsp;posted&=
nbsp;or&nbsp;formatted&nbsp;this&nbsp;incorrectly.<br><br>L.&nbsp;Shafranov=
ich<br><br></body></html>
------=_Part_30181_11445657.1197653581434--
 




 2 Posts in Topic:
weird vb6 odbc null problem
lshafranovich@[EMAIL PROT  2007-12-14 12:33:01 
Re: weird vb6 odbc null problem
inoue@[EMAIL PROTECTED]   2007-12-17 15:57:26 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan13V112 Sun Jul 20 4:38:13 CDT 2008.