PDA

View Full Version : ارسال اطلاعات بدون navigator



mohammady2
شنبه 20 بهمن 1386, 13:16 عصر
سلام .
من ارتباط با بانک sql رو برقرار کردم .لطفا یه نفر خوش خط و خوانا (واضح و روشن ) به من بگه من اگه بخوام بدون استفاده از navigator با یک دکمه اطلاعات رو به داخل پایگاه داده ارسال کنم یا حذف ...

1-از چه کاپوننتهایی استفاده کنم
2- دستورات رو کجا بنویسم
3- چی بنویسم

قبلا از دوستان به خاطرطرح این چنین سوالهای که هزار بار تکرار میشه و اصلا نباید در این سطح مطرح بشه معذرت میخوام .کمبود منابع انسان رو مجبور میکنه.
ممنون

vcldeveloper
شنبه 20 بهمن 1386, 14:19 عصر
کمبود منابع انسان رو مجبور میکنه.
برای اینگونه سوالات کتاب های مختلفی وجود دارند، پس حداقل در این زمینه کمبود منابع نداریم. مطالعه یک کتاب دلفی باعث صرفه جویی زیادی در وقت خودتون میشه، بخصوص که سوالاتی مثل "از چه کامپوننتی استفاده کنم" یا "کجا بنویسم" نشون میده آشنایی مقدماتی با دلفی ندارید.

در هر حال...
Navigator کار خاصی انجام نمیده جز فراخوانی یکسری متدهای مشخص کلاس TDataSet. تمام کامپوننت های دلفی که مجموعه ایی از رکورد ها را برمیگردانند (مثل AdoTable, AdoQuery, Table, Query و...) همگی از TDataSet مشتق شدند.
برای اجرای هر یک از این متدها کافی هست چیزی شبیه به این بنویسید:

AdoTable1.Next;
متدهایی که Navigator استفاده میکنه اینها هستند:
First, Last, Next, Prior, Cancel, Post, Edit, Insert, Refresh, Delete
هر کدام از این متدها را می تونید با متد Next که در بالا مثال زدم جایگزین کنید. نام هر کدوم مشخص میکنه که کارشون چیه؛ مثلا Delete رکورد جاری رو حذف میکنه، Cancel تغییرات در رکورد جاری رو لغو میکنه، و Post تغییرات را ثبت میکنه. هر کدام از اینها در Help دلفی کاملا توضیح داده شدند، فقط کافیه در Editor دلفی روی اسمشان کلید F1 را بزنید.


دستورات رو کجا بنویسم
هر کجا که لازم داشتید، مثلا اگر قرار هست یک دکمه برای رفتن به رکورد بعدی داشته باشید، دکمه را بر روی فرم قرار بدید و در رویداد OnClick آن کدی مثل مثال بالا بنویسید.

راه دیگه استفاده از Action های آماده ایی هست که دلفی در گروه DataSet از Standard Actions ارائه کرده و نیازی به کد نویسی ندارند، ولی برای استفاده از آنها باید با Action ها آشنا باشید.

dkhatibi
شنبه 20 بهمن 1386, 14:22 عصر
سلام
خوش آمدید
شما خیلی از چیزها رو از قبل باید بدونید
با متدهای Post ، Insert،Edit و Delete یک دیتاست آشنا شوید.
اینها را در رویداد OnClick دکمه ها بنویسید.

در مورد Action ها هم اگر بدونید می تونید یک کم راحت تره(جستجو)
البته قبلش علی آقا کاملتر گفتند!!!!

mohammady2
شنبه 20 بهمن 1386, 14:55 عصر
http://www.arabteam2000-forum.com/index.php?showtopic=27879

خودم یافتم. بابا ، بازم سایتای العربی.فکر نمیکردم مطلب به درد بخوری توی اینا پیدا بشه

شاید خوندن ده تا صفحه از همین سایت در مورد سوالم برابر شد با قطعه کد های یک صفحه این سایت.


یک نمونه :



with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO Cust');
SQL.Add('( CustNo,CustName,Tel,StartDate,StartAmount)');
SQL.Add(' Values');
SQL.Add('(:P1,:P2,:P3,:P4,:P5)');
Prepared;
Parameters.ParamByName('P1').Value := Edit1.Text;
Parameters.ParamByName('P2').Value := Edit2.Text;
Parameters.ParamByName('P3').Value := Edit3.Text;
Parameters.ParamByName('P4').Value := Edit4.Text;
Parameters.ParamByName('P5').Value := Edit5.Text;
ExecSQL
end;

vcldeveloper
شنبه 20 بهمن 1386, 15:35 عصر
شاید خوندن ده تا صفحه از همین سایت در مورد سوالم برابر شد با قطعه کد های یک صفحه این سایت.


یک نمونه :
لزومی به نوشتن همچین کدی نبود. شما که هنوز نمی دونید باید کد را کجا بنویسید، اگر از همچین کدی استفاده کنید؛ یعنی بجای استفاده از متدهای استاندارد TDataSet خودتون مستقیما SQL بنویسید، فردا 10 تا سوال و مشکل جور واجور دیگه پیدا می کنید که مستقیما به این کد مربوط میشند.