با سلام خدمت دوستان گرامي
من دربرنامه ام مي خواهم بعضي از اطلاعات يك تيبل را در درون يك تيبل ديگر كپي كنم ولي با پيام زير مواجه مي شود
String literals may have at most 255 elements
لطفا به من بگين چكار كنم
با تشكر
با سلام خدمت دوستان گرامي
من دربرنامه ام مي خواهم بعضي از اطلاعات يك تيبل را در درون يك تيبل ديگر كپي كنم ولي با پيام زير مواجه مي شود
String literals may have at most 255 elements
لطفا به من بگين چكار كنم
با تشكر
توضیحاتتان کافی نیست لطفا بگویید Table شما از چه نوعی می باشد و چگونه کپی می کنید
من از اس كيو ال براي بانك اطلاعاتي ام استفاده مي كنم و در دلفي دستور زير را براي عمليات كپي استفاده كرده ام
Dconnection.ADOQuery1.Close;
Dconnection.ADOQuery1.SQL.Clear;
Dconnection.ADOQuery1.SQL.Add('insert into articldaeem(codemoeen,sharhemoeen,codetafzili,shar hetafzil,sharh,bedehkar,bestankar,tafzil,tanzimkon andeh)select codemoeen,sharhemoeen,codetafzili,sharhetafzil,sha rh,bedehkar,bestankar,tafzil,tanzimkonandeh from movaghat where shomaresanad=:shomaresanad');
Dconnection.ADOQuery1.Parameters.ParamValues['shomaresanad']:=DSmovaghat.DataSource2.DataSet.Fields[0].Value;
Dconnection.ADOQuery1.ExecSQL;
سلام
مشكل از خط سوم كدي هست كه نوشتيد . هر خط در محيط دلفي ميتونه حداكثر
255 كاركتر داشته باشه ولي خط سوم بيشتر از 255 كاركتر داره .
فقط كافيه اون خط رو بشكنيد به چند خط كوچكتر مثل كد زير :
Dconnection.ADOQuery1.SQL.Add('insert into articldaeem(codemoeen,sharhemoeen,codetafzili,shar hetafzil,sharh,'+
'bedehkar,bestankar,tafzil,tanzimkonandeh)select codemoeen,sharhemoeen,codetafzili,'+
'sharhetafzil,sharh,bedehkar,bestankar,tafzil,tanz imkonandeh from movaghat'+
' where shomaresanad=:shomaresanad');
موفق باشيد
تنها محدودتی نوع string از نظر اندازه داره، حافظه ایی هست که در اختیار Process قرار داره؛ یعنی بطور تئوری 2 تا 3 گیگابایت!نوع string (كه متن داخل كوتيشن رو هم شامل ميشه) نميتونه از 255 كاراكتر بيشتر باشه
اون محدودتی که شما بهش اشاره کردید، مربوط به نوع داده ShortString میشه که از پاسکال به دلفی اومده و از با نوع داده string دلفی فرق میکنه. در پیام خطایی هم که این کاربر دریافت کردند، اشاره به ثابت رشته ایی شده. ایشون می تونند همانطور که در پست شماره 4 جواب داده شد، کل متن را به چند ثابت رشته ایی که با استفاده از + به هم وصل شده اند، تقسیم کنند. البته وجود همچنین خطایی به خودی خود عجیب هست، چون دلفی ثابت های رشته ایی را بصورت string تعریف می کند، نه shortstring.
همچنین، این مشکل در نسخه های جدیدتر دلفی مثل دلفی 2009 وجود ندارد.
وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.