ورود

View Full Version : درج در بانک



grand_ceasare
پنج شنبه 19 شهریور 1388, 03:59 صبح
با سلام به همه دوستان
ميخواستم بپرسم که چطوري ميتونم از داخل برنامه به يک فيلد تيبلم که از نوع Bit هستش مقدار بدم؟
همچنين چطور ميتونم مقادير اين فيلدها رو مورد مقايسه قرار بدم؟
ميخواستم که عمليات درج و مقايسه با استفاده از نوشتن کوئري انجام بشه(با استفاده ازAdoQuery).
ضمنا از SQL Server 2008 استفاده ميکنم.

vcldeveloper
پنج شنبه 19 شهریور 1388, 04:45 صبح
ميخواستم بپرسم که چطوري ميتونم از داخل برنامه به يک فيلد تيبلم که از نوع Bit هستش مقدار بدم؟

AdoQuery1.FieldByName('MyField').AsBoolean := True;

البته می تونید بجای True/False از صفر و یک هم استفاده کنید.


همچنين چطور ميتونم مقادير اين فيلدها رو مورد مقايسه قرار بدم؟
وقتی مقدار فیلد را بصورت Boolean یا Integer از بانک گرفتید، می تونید مثل یک مقدار Boolean یا Integer عادی اون رو مقایسه کنید، یا روی آن پردازش انجام بدید.


ميخواستم که عمليات درج و مقايسه با استفاده از نوشتن کوئري انجام بشه(با استفاده ازAdoQuery).
خب، مشکلتون چی هست؟ دستور SQL مربوطه را در خصوصیت SQL مربوط به AdoQuery می نویسید، و اگر قرار هست Recordsetایی برگشت داده بشه، خصوصیت Active را True می کنید؛ وگرنه، از متد ExecSQL استفاده می کنید.

grand_ceasare
پنج شنبه 19 شهریور 1388, 18:35 عصر
اگه ممکن هست یک مثال از هر کدام برای دستور SQL بنویسید. ممنون میشم .

grand_ceasare
یک شنبه 22 شهریور 1388, 16:08 عصر
من برای مقایسه از کد زیر استفاده میکنم که جواب نمیده


SQL.ADD('SELECT * FROM Table WHERE ( Field1= '+QuotedStr(Edit.Text)+' AND Field2= Null )');

Field1 از نوع Bigint و Field2 از نوع varchar هست.Field2 خاصیت Allow Nullاش True هست و مقداری هم داخلش نیست ولی موقع جستجو این قسمت لحاظ نمیشه!!!
حتی وقتی فقط Field2 رو Select میزنم جوابی نمیده.
کسی میدونه اشکال کارم کجاست؟

mehdimdp
یک شنبه 22 شهریور 1388, 16:42 عصر
مگه فيلد1 ازنوع bigint نيست؟
اگه هست چرا از QuotedStr(Edit.Text) استفاده مي كني ؟

grand_ceasare
یک شنبه 22 شهریور 1388, 16:57 عصر
مگه فيلد1 ازنوع bigint نيست؟
اگه هست چرا از QuotedStr(Edit.Text) استفاده مي كني ؟
ممنون از توجه شما دوست عزیز
ولی این تا حالا مشکلی واسم ایجاد نکرده بود
به هر حال از شما ممنونم

grand_ceasare
یک شنبه 22 شهریور 1388, 17:00 عصر
این لینک رو پیدا کردم, از ایجاد کنندش ممنونم
http://barnamenevis.org/forum/showthread.php?t=175852&referrerid=58474