PDA

View Full Version : مبتدی: کپی کردن محتویات رکورد های یک جدول درون جدول دیگر



farabad
شنبه 07 خرداد 1390, 15:13 عصر
قصد دارم محتویات رکوردهای یک جدول را درون جدولی دیگر کپی کنم اما اشکالاتی پیش می آید که اصلا از نظر منطق برنامه نویسی قابل توجیه نیستند.
کدی که استفاده می کنم

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Insert Into foroush Select * From komaki');
ADOQuery1.ExecSQL;
ADOQuery1.Active:=false;
ADOQuery1.Active:=true;
است.
مشکل شماره یک) بعد از اعمال این دستورات خطا command text does not return a result setظاهر می گردد.


مشکل شماره دو)محتویات فیلدهای جدول کمکی(جدول مبدأ) دو بار در جدول فروش(جدول مقصد)کپی می شود.

سابق این اعمال را انجام می دادم اما هیچگاه به این مشکلات بر نخوردم.دلیل چیست؟:متفکر:

angel_692
شنبه 07 خرداد 1390, 16:15 عصر
در مورد اشکال اول
مشکل شماره یک) بعد از اعمال این دستورات خطا command text does not return a result setظاهر می گردد.
چون queryکه نوشته شده یه query است که خروجی ندارد شما نباید آبجکت اجرای query تان یعنی adoquery1 راopen کنید . false و سپس true کردن آن همان عمل open است به همین خاطر این خطا را میدهد. و execute کردن آن کافیست.

angel_692
شنبه 07 خرداد 1390, 16:22 عصر
در مورد اشکا دوم
مشکل شماره دو)محتویات فیلدهای جدول کمکی(جدول مبدأ) دو بار در جدول فروش(جدول مقصد)کپی می شود.

اولا باید برای جدول خودتان یک فیلد کلید تعریف کنید تا از اضافه کردن فیلد تکراری جلوگیری شود و در اینجا به نظر من همین که شما به نوعی دوبار دارید query اضافه کردن به جدول را اجرا می کنید یعنی یک بار باexecute کردن و بار دوم با false و true کردن که یکبار دیگر query اجرا می شود در نتیجه هر رکورد دوبار اضافه می شود.

farabad
شنبه 07 خرداد 1390, 19:03 عصر
کاملا صحیحه.بی دقتی کردم.از لطفتون ممنون

ho.yasreby
دوشنبه 13 شهریور 1391, 08:55 صبح
حالا اگر 2 تا دیتابیس مجزا باشه چی