PDA

View Full Version : نمایش محتویات Sql



hamidr
پنج شنبه 03 شهریور 1384, 14:52 عصر
میشه یه راهنمایی کنید که چطوری میشود به یک دیتابیس SQL متصل شد و محتویات آن را در یک DbGride نمایش داد
و چطوری میتوان اطلاعاتی را به این دیتابیس اضافه یا تغییر داد در واقع کدهای مربوط به هر کدام را در کجا باید نوشت.
من تا به حال از Table و Paradox استفاده می کردم.

حرفه ای
جمعه 04 شهریور 1384, 09:16 صبح
برای ارتباط با دیتابیسی مانند SQL Server دو روش وجود داره

1) ارتباط به وسیله ADO

2) ارتباط به روش dbExpress

در شروع پیشنهاد می کنم سراغ ADO بروی چون آسانتر و منابع بیشتری می تونی پیدا بکنی

البته dbExpress یک روش جستجو یک طرفه است و خیلی سریعتر از ADO کار می کنه و کار کردن با اون هم به مراتب مشکلتره

hamidr
جمعه 04 شهریور 1384, 17:37 عصر
مرسی از شما حرفه ای پاسخ شما خیلی کلی بود و مشکل من پابرجاست.

در ادامه سوالم باید بگم که به فرض دیتابیس test را داریم(از نوع SQL )
اطلاعات این دیتابیس را اگر قراره از ADO یا هر چیز دیگری استفاده کنیم
و نمایش دهیم، از کدام پلت کدام شی را روی فرم قرار دهیم.

rostamedastan
جمعه 04 شهریور 1384, 22:36 عصر
1- عنصر adoconnection را به فرم اضافه کن
2- روی خاصیت connection string کلیک کن.
3- use connection string را انتخاب کن و ذعهمی را بزن
4- microsoft ole db provider for sql server را انتخاب کن و next را بزن
5- در مورد شماره 2 windows nt را انتخاب کن
6- در مورد شماره 3 نام پایگاه داده خود را که در sql قرار دارد انتخاب کن
موفق باشید.

Kamyar.Kimiyabeigi
شنبه 05 شهریور 1384, 08:43 صبح
همین طور که rostamedastan گفت بعد از انجام مراحل فوق میتونی با استفاده از adotable و یا adoquery به دیتابیست وصل بشی و اطلاعات رو ازش بخونی و یا در اون درج کنی در ضمن palette مربوط به این کار در دلفی اسمش ADO هست
موفق باشی

software
شنبه 05 شهریور 1384, 13:44 عصر
با سلام به دوستان
من هم در زمینه استفاده از db در دلفی مشکل دارم.اگر کمک کنید واقعا ممنون میشم.
1) بعد از ساختن جداول در یک db دستورات quary باید کجا نوشته شود؟
2)برای نوشتن quary های پویا چطور باید عمل کنیم؟ یعنی چگونه quary بنویسیم که پارامتر بپذیرد؟

با تشکر

Kamyar.Kimiyabeigi
شنبه 05 شهریور 1384, 14:43 عصر
دوست عزیز سوال شما خیلی کلیه ولی امیدوارم مثال زیر کمکتون کنه


SELECT FirstName, LastName
FROM User
WHERE UserCode = :Prm_Code

کد فوق را در قسمت String مربوط به TADOQuery بنویسید


ADOQuery1.Active := False;
ADOQuery1.Parameters.ParamByName('Prm_Code').Value := 1;
ADOQuery1.Active := True;

کد فوق هم در داخل Source نوشته میشه برای استفاده از Query

software
یک شنبه 06 شهریور 1384, 06:31 صبح
واقعا از شما ممنونم.این دقیقا همون چیزییه که من میخام.
فقط وقتی کد رو اجرا میکنم نام ستون های select شده رو نشون میده و جای مقادیر خالی است. چی کار باید بکنم؟
در ضمن دقیقا کاربرد ADOQuery1.Parameters.ParamByName('Prm_Code').Value := 1 چیست؟

با تشکر

Kamyar.Kimiyabeigi
یک شنبه 06 شهریور 1384, 07:49 صبح
در خصوص سوال اولتون میشه بیشتر توضیح بدین چون متوجه نشدم اما در خصوص سوال دوم باید بگم که با این خط شما پارامتر را مقداردهی میکنین و در اصل Script شما به حالت زیر در میاد
قبل از مقدار دهی پارامتر


SELECT FirstName, LastName
FROM User
WHERE UserCode = :Prm_Code

بعد از مقداردهی پارامتر


SELECT FirstName, LastName
FROM User
WHERE UserCode = 1

موفق باشین

software
یک شنبه 06 شهریور 1384, 13:12 عصر
کاملا متوجه شدم. مشکلم حل شد.از لطف شما خیلی ممنونم.

hamidr
جمعه 11 شهریور 1384, 11:54 صبح
rostamedastan از راهنمایی شما سپاسگزارم .

hamidr
جمعه 11 شهریور 1384, 18:10 عصر
SELECT FirstName, LastName
FROM User
WHERE UserCode = :Prm_Code
کد فوق را در قسمت String مربوط به TADOQuery بنویسید

کدSource:

ADOQuery1.Active := False;
ADOQuery1.Parameters.ParamByName('Prm_Code').Value := 1;
ADOQuery1.Active := True;

**********

Kamyar.Kimiyabeigi من در مورد پاسخی که دادید به مشکل برخوردم
یعنی وقتی اجرا میکنم در مورد کد Error، Sourceمیگیرد
می گوید Prm_Code را پیدا نمی کند
لطفا راهنمایی کنید و اگر از دستورات اس کیو ال هم بخواهم استفاه کنم هم به یه توضیحی دهید
متشکرم

Kamyar.Kimiyabeigi
شنبه 12 شهریور 1384, 08:31 صبح
زمانی که شما TAdoQuery رو میزارین و قسمت String اونو پر میکنین در قسمت Properties در Object Inspector در Parameters ببینید آیا پارامتر شما اضافه شده یا نه؟ (باید اضافه شده باشه)
اما در مورد اینکه از دستورات SQL بخواهید استفاده کنین باید بگم که هم از طریق ADOQuery میتونین استفاده کنین و هم میتونین در خود SQL شما Stored Procedure درست و در دلفی با ADOStoredProc انرو صدا بزنین
موفق باشین