[SQL] นำเข้ารหัสยามาตรฐาน 24 หลักจากไฟล์ Exel

2009-11-25 / HosXP / 46 Comments

เมื่อไม่นานมานี้  สสจ.  ขอฐานข้อมูลยาไป  เพื่อที่จะ map รหัสยามาตรฐาน 24 หลัก
หลักจาก map เสร็จก็ได้ไฟล์ Exel  มาโดยมี  icode (รหัสยาของ รพ.)   และ did (รหัสยามาตรฐาน)  และข้อมูลอื่น ๆ
ที่สำคัญคือ สองฟิลนี้คือ  icode  และ  did    จะต้อง update  did  ลงไปในฐานข้อมูลยาตาม icode

ปัญหาก็คือจะเอาลงไปยังไงดี  (โปรแกรม map  ยังไม่ได้)  ก็เลยคิดไปคิดมา  เอา  php  เขียนแยกข้อมูลออกมาใส่ตาราง  tempreport
แล้วเอา  SQL  update  did  อีกที   อาจจะไม่ใช่วิธีที่ดี  แต่มันก็อัพเดทได้โดยไม่มึนกับ code  อิอิ

Code PHP
<?
$strFileName = "drug_import.csv";
$objFopen = fopen($strFileName, 'r');
mysql_connect(localhost,"user","password");
if ($objFopen) {
    while (!feof($objFopen)) {
        $file = fgets($objFopen, 4096);
        $drug_code=substr($file,0,7);
        $drug_did=substr($file,8,50);
        echo $drug_code." - ".$drug_did.":::::";
        $sql = "insert into hos.tempreport (reportname,name1,name2) VALUES('drug_item_import','$drug_code','$drug_did')";
        if (mysql_query($sql))
        {
            echo "Insert OK <br>";
        }

}
    fclose($objFopen);
}
?>

 

Code SQL
update drugitems di
inner join tempreport tr on tr.name1=di.icode
set di.did = tr.name2
where  tr.reportname="drug_item_import" 
Read More

[SQL] ดูรายชื่อผู้ป่วยที่มีการบันทึก note การจ่ายยา

2009-11-25 / HosXP / 471 Comments
select ov.vstdate,concat(pt.pname,pt.fname,"  ",pt.lname) as ptname,ov.hn,rx.note
from ovst ov
left outer join patient pt on pt.hn = ov.hn
left outer join rx_operator rx on rx.vn = ov.vn
where ov.vstdate between "2009-10-01" and "2009-11-30" and (rx.note <> "" or rx.note is not null)
Read More

Config my.cnf ใหม่ Server นิ่งเชียว

2009-11-16 / HosXP / 1 Comments

เมื่อก่อน Workload ของ MySQL  ก็จะวิ่งอยู่ที่ไม่เกิน  25 %   แต่เฉลี่ยจะอยู่ประมาณ  10 %

แต่เมื่อเวลาผ่านไปข้อมูลก็เยอะขึ้น  กราฟเริ่มสูงขึ้น   กลายเป็นว่าเฉลี่ยอยู่ที่เกือบ  20 % มีบางครั้ง peak ถึง 40 %

ก็เลยคิดว่า    มันดึง  RAM  มาใช้ไม่หมดหรือเปล่า  เพราะ RAM  ก็ตั้ง 10  G    ก็เลยจัดการ Config my.cnf ใหม่  กลับมานิ่งเหมือนเดิมละคับ

msyql_monitor

ขอขอบคุณชุมชน  hosxp.net

ปล. เคยอ่านเจอ  ใน hosxp.net   บอกว่า  ค่าปกติจะอยู่ที่ไม่เกิน 25 %

Read More

Upgrade MySQL แล้วมีปัญหาทำไงดี ???

2009-11-13 / Server / 248 Comments

วันนี้ว่าง ๆ เห็น Server สำรองมันใช้ MySQL เวอร์ชันเก่าก็เลยลอง  Upgrade ซะเลย
อัพเกรดเป็นเวอร์ชั่น  5.1.30

rpm -ivh MySQL-shared-5.1.30-0.glibc23.i386.rpm --nodeps --force
rpm -ivh MySQL-client-5.1.30-0.glibc23.i386.rpm --nodeps --force
rpm -ivh MySQL-server-5.1.30-0.glibc23.i386.rpm --nodeps --force
แต่มันไม่จบเท่านี้ยังมีปัญหารออยู่อีก

 Read the rest of this entry »
Read More

ค้นหา Computer name และ Mac Address ง่าย ๆ ด้วย nbtstat

2009-11-13 / Network / 349 Comments

เป็นคำสั่งของวินโดว์ง่ายๆ  ครับ  รันใน Dos

1.  กด Start -> Run
2. พิมพ์ cmd  แล้ว enter   (เพื่อเรียกหน้าต่าง dos)
3. ในหน้าต่าง dos  พิมพ์  nbtstat -a <ip>     (<ip>  คือหมายเลข ip ที่ต้องการดู computername และ macaddress)

nbtstat

Read More

การเชื่อมต่อ SQL Server ด้วย SqlConnection ใน .NET

2009-11-11 / Computer, Programming, SQL/Database, VB.NET/C# / 510 Comments

พอดีมีงานที่ต้องเขียนเชื่อมต่อฐานข้อมูลของ SQL Server ซึ่งไปอ่าน ๆ ดูก็ง่าย ๆ (Oracle, MySQL ก็เขียนคล้ายกันมาก)
ตัวอย่างผมใช้ VB.NET เขียนนะครับ

เริ่มแรกก็ Import ก่อนเลย

Imports System.Data.SqlClient

จากนั้นก็ตามด้วย Code ตัวอย่าง อย่างง่าย ๆ

Private Sub readDataTOListView(ByVal lv As ListView)
Dim sqlServerConnect As SqlConnection
Dim sqlCommand As SqlCommand
Dim dr As SqlDataReader

sqlServerConnect = New SqlConnection(“server=localhost;uid=sa;pwd=123456;database=myDatbase”)

Try
sqlServerConnect.Open()
sqlCommand = New SqlCommand(“Select * from mytable”, sqlServerConnect)

dr = sqlCommand.ExecuteReader()

If dr.HasRows Then
While dr.Read()
With lv.Items.Add(dr.Item(“ID”).ToString())
.SubItems.Add(dr.Item(“Data1″))
.SubItems.Add(dr.Item(“Data2″))
End With
End While

End If
dr.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try

If Not IsNothing(sqlServerConnect) Then
sqlServerConnect.Close()
sqlServerConnect.Dispose()
End If
End Sub

ลองเอาไปใช้กันดูนะครับ ^^

Read More