ผู้เขียน หัวข้อ: อยากทราบคำสั่ง ดึงค่าใน Field มาเก็บในตัวแปรครับ  (อ่าน 5056 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ ZemaplUS2

  • Full Member
  • ***
  • กระทู้: 122
  • Respect: 0
    • ดูรายละเอียด
MyQuery1.SQL.text:='select Log_status from login where user='+edit1.text;

จากคำสั่งด้านบนผมต้องการนำค่าที่ได้จาก Select มาทำการตรวจสอบค่าที่ได้เพื่อทำเงื่อนไข งะครับ ไม่ทราบว่าจะสามารถนำค่าที่ได้มาเก็บในตัวแปรได้อย่างไรครับ หรือมีวิธีการแบบอื่นอีกไหมครับ รบกวนทุกๆท่านด้วยครับ
Mainserver IBM 3100
Slave  PC ร้ายๆ ตัวหนึ่ง

ออฟไลน์ tigerfx

  • Jr. Member
  • **
  • กระทู้: 65
  • Respect: 0
    • ดูรายละเอียด
Re: อยากทราบคำสั่ง ดึงค่าใน Field มาเก็บในตัวแปรครับ
« ตอบกลับ #1 เมื่อ: พฤษภาคม 10, 2012, 08:35:54 AM »
0
MyQuery1.SQL.text:='select Log_status from login where user='+edit1.text;

จากคำสั่งด้านบนผมต้องการนำค่าที่ได้จาก Select มาทำการตรวจสอบค่าที่ได้เพื่อทำเงื่อนไข งะครับ ไม่ทราบว่าจะสามารถนำค่าที่ได้มาเก็บในตัวแปรได้อย่างไรครับ หรือมีวิธีการแบบอื่นอีกไหมครับ รบกวนทุกๆท่านด้วยครับ

ต้องสั่งให้ Query1 ทำงานก่อนนะครับถึงจะได้ผลลัพธ์
MyQuery1.Active := True; หรือ MyQuery1.ExecSQL;
จากนั้นก็ Access ไปที่ Dataset
varStr := MyQuery1.FieldByName('Log_status').AsString;
.
.
.
แต่ sql น่าจะผิดตรงที่ edit1.text มันเป็น string ต้องใส่ double quote (ฟันหนู) ให้มัน
แต่น่าจะใช้ Parameter แบบนี้จะดีกว่า ป้องกันการตัดต่อ SQL ผิด
MyQuery1.Active := False;
MyQuery1.SQL.Text := 'select Log_status from login where user= :user';   <==ใส่ param ให้มั้น
MyQuery1.ParamByName('user').AsString := edit1.Text;
MyQuery1.Active := True;
... :=  MyQuery1.FieldByName('Log_status').AsString;
รพ.เมตตาประชารักษ์(วัดไร่ขิง)
สนธยา  นาคอ่วมค้า  นวก.คอมพิวเตอร์

Main server : HP ML350 4G of RAM
MySQL : 5.1.45
Replicate Slave : IBM x3600 M3 4G of RAM
MySQL : 5.5.17
HOSxP : 54.2.2