BMS-HOSxP Community

HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: Bond_007 ที่ กรกฎาคม 25, 2011, 17:13:11 PM

หัวข้อ: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Bond_007 ที่ กรกฎาคม 25, 2011, 17:13:11 PM
พอดีได้รับมอบหมายให้เขียนรายงานครับผมลองกำหนดตัวแปรขึ้นมา
doctor := GetSQLStringData('select dthdiagdct from ipt where an="'+DBPipeline['num2']+'"');
Value :=  ' ' +GetSQLStringData('select name from doctor  where code ="'+doctor+'"');

หลังจากลองประมวลผลดูปรากฎว่าไม่ออกครับซึ่งถ้าเป็นรายงานอื่นกำหนดแบบนี้มันออก เลยไปดูข้อมูล 'num2'ปรากฎว่ามันเป็น แบบ Integer ก็เลยสงสัยวามันไม่ออกเพราะใช้  GetSQLStringData
ด้วยความมั่วก็เลยเปลี่ยนเป็นแบบนี้ครับ

doctor := GetSQLIntegerData('select dthdiagdct from ipt where an="'+DBPipeline['num2']+'"');
Value :=  ' ' +GetSQLStringData('select name from doctor  where code ="'+doctor+'"');
ปรากฎว่าขึ้น ERROR ตามภาพครับไม่ทราบว่าต้องแก้ยังไงครับ
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Khuad ที่ กรกฎาคม 25, 2011, 18:02:51 PM

... ตอนแรกที่ลองประมวลผลดูแล้วไม่ออก
    ได้ตรวจสอบดูหรือยังครับ ว่า DBPipeline['num2'] มีข้อมูลหรือเปล่าครับ ...  :D ...
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Bond_007 ที่ กรกฎาคม 25, 2011, 18:05:18 PM
มีนะครับอาจารย์เป็นเลข an ครับ

... ตอนแรกที่ลองประมวลผลดูแล้วไม่ออก
    ได้ตรวจสอบดูหรือยังครับ ว่า DBPipeline['num2'] มีข้อมูลหรือเปล่าครับ ...  :D ...

หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Khuad ที่ กรกฎาคม 25, 2011, 18:08:15 PM

... ลองส่งตัวรายงานมาให้ทดสอบสักนิด นะครับผม ...  :D ....
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Bond_007 ที่ กรกฎาคม 25, 2011, 18:13:03 PM
ตัวรายงานครับ  :D
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Khuad ที่ กรกฎาคม 25, 2011, 18:24:21 PM

... อ้อ  ลืมไปครับ
   
    ได้ลองตรวจสอบดูหรือยังครับ  ว่า ในตาราง ipt ที่มี an ตาม DBPipeline['num2'] นี่

    ใน dthdiagdct มีข้อมูลอยู่หรือเปล่าครับ ลองดูอีกสักรอบนะครับ ...  :D ....

   
   
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: SoRnKuNg ที่ กรกฎาคม 25, 2011, 18:31:05 PM
ลองใส่นี่เข้าไปดูหายหรือเปล่า ไม่แน่ใจนะครับ

doctor := GetSQLStringData('select dthdiagdct from ipt where an="'+floattostr(DBPipeline['num2'])+'"');

หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Bond_007 ที่ กรกฎาคม 25, 2011, 18:55:51 PM
ตรวจสอบแล้วมีข้อมูลครับ  :D

... อ้อ  ลืมไปครับ
  
    ได้ลองตรวจสอบดูหรือยังครับ  ว่า ในตาราง ipt ที่มี an ตาม DBPipeline['num2'] นี่

    ใน dthdiagdct มีข้อมูลอยู่หรือเปล่าครับ ลองดูอีกสักรอบนะครับ ...  :D ....

   
   
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Bond_007 ที่ กรกฎาคม 25, 2011, 19:10:47 PM
ผมใส่แบบนี้ยังไม่ออกครับไม่รู้ว่าถูกหรือเปล่าครับ
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Khuad ที่ กรกฎาคม 25, 2011, 19:14:14 PM

... ยังไม่ได้ดูเลย อิ อิ

    เดี๋ยวทานข้าวก่อนนะครับ ...  ;D  ;D  ;D ...
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Bond_007 ที่ กรกฎาคม 25, 2011, 19:20:47 PM
ครับผม  ;D ;D

... ยังไม่ได้ดูเลย อิ อิ

    เดี๋ยวทานข้าวก่อนนะครับ ...  ;D  ;D  ;D ...

หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Khuad ที่ กรกฎาคม 25, 2011, 20:02:53 PM
... สาเหตุที่ ลองประมวลผลดูแล้วไม่ออก

    เป็นเพราะว่า an คือ DBPipeline['name2']  ครับ
   
    ไม่ใช่  DBPipeline['num2']  ...  :D ...
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Khuad ที่ กรกฎาคม 25, 2011, 20:03:50 PM

... ที่จริงไม่ต้องประกาศตัวแปรเพิ่มก็ได้ครับ
 
    ใช้คำสั่งแบบนี้ใน variable เลยก็ได้ครับ ...  :D ...


Value := ' '+GetSQLStringData('select d.name from ipt i,doctor d '+
             'where i.dthdiagdct = d.code and i.an = "'+DBPipeline['name2']+'" ');
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Bond_007 ที่ กรกฎาคม 25, 2011, 20:39:40 PM
คดีพลิก หลงประเด็นไปตั้งนาน (4 ชั่วโมง) ขอบพระคุณเป็นอย่างสูงครับอาจารย์ ได้แล้วครับ ;D
... สาเหตุที่ ลองประมวลผลดูแล้วไม่ออก

    เป็นเพราะว่า an คือ DBPipeline['name2']  ครับ
   
    ไม่ใช่  DBPipeline['num2']  ...  :D ...

หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Bond_007 ที่ กรกฎาคม 26, 2011, 10:05:02 AM
.....และแล้วก็มีอีกจุดที่แก้ไม่ได้ครับ ไม่สามารถดึงที่อยู่ได้ครับลองเขียนแบบนี้ดึงไม่ออกครับ

hn_ward := GetSQLStringData('select hn from ipt where an="'+DBPipeline['name2']+'"');

Value :=GetPatientAddress ('"'+DBPipeline['hn_ward']+'"');
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: woravet ที่ กรกฎาคม 26, 2011, 10:37:23 AM
hn_ward เป็น ตัวแปร ไม่ใช่ฟิล์ด
น่าจะเป็น
Value :=GetPatientAddress ('"'+hn_ward+'"');
มากกว่า
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Bond_007 ที่ กรกฎาคม 26, 2011, 11:42:25 AM
ลองทำดูแล้วไม่ได้ครับตามรูปครับ
hn_ward เป็น ตัวแปร ไม่ใช่ฟิล์ด
น่าจะเป็น
Value :=GetPatientAddress ('"'+hn_ward+'"');
มากกว่า
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: chitvichai ที่ กรกฎาคม 26, 2011, 11:49:54 AM
ลองทำดูแล้วไม่ได้ครับตามรูปครับ
hn_ward เป็น ตัวแปร ไม่ใช่ฟิล์ด
น่าจะเป็น
Value :=GetPatientAddress ('"'+hn_ward+'"');
มากกว่า

Value :=GetPatientAddress (hn_ward); ได้เลยครับลองดู
หรือ ไม่ต้องผ่านตัวแปรครับ
Value :=GetPatientAddress (GetSQLStringData('select hn from ipt where hn="'+DBPipeline['name2']+'"'));
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Bond_007 ที่ กรกฎาคม 26, 2011, 13:56:54 PM
ได้แล้วครับ
hn_ward := GetSQLStringData('select hn from ipt where an="'+DBPipeline['name2']+'"');
Value :=GetPatientAddress (hn_ward);
หัวข้อ: Re: สอบถามการเขียน Variable ที่ข้อมูลเป็น Integer
เริ่มหัวข้อโดย: Khuad ที่ กรกฎาคม 26, 2011, 14:11:09 PM

... ลองใช้คำสั่งแบบไม่ต้องผ่านตัวแปร อย่างที่ท่าน chitvichai แนะนำดูสิครับ 
   
    ผมว่าตรวจสอบง่ายกว่านะครับ ...  :D ....