BMS-HOSxP Community

HOSxP => Delphi / Pascal => ข้อความที่เริ่มโดย: ZemaplUS2 ที่ พฤษภาคม 09, 2012, 17:39:45 PM

หัวข้อ: อยากทราบคำสั่ง ดึงค่าใน Field มาเก็บในตัวแปรครับ
เริ่มหัวข้อโดย: ZemaplUS2 ที่ พฤษภาคม 09, 2012, 17:39:45 PM
MyQuery1.SQL.text:='select Log_status from login where user='+edit1.text;

จากคำสั่งด้านบนผมต้องการนำค่าที่ได้จาก Select มาทำการตรวจสอบค่าที่ได้เพื่อทำเงื่อนไข งะครับ ไม่ทราบว่าจะสามารถนำค่าที่ได้มาเก็บในตัวแปรได้อย่างไรครับ หรือมีวิธีการแบบอื่นอีกไหมครับ รบกวนทุกๆท่านด้วยครับ
หัวข้อ: Re: อยากทราบคำสั่ง ดึงค่าใน Field มาเก็บในตัวแปรครับ
เริ่มหัวข้อโดย: tigerfx ที่ พฤษภาคม 10, 2012, 08:35:54 AM
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;