یک مشکل در تبدیل به فایل SQL:
1)بجای ' از " استفاده شده.
الزامی در استفاده از کاراکتر ' نیست شما می تونید از کاراکتر " نیز بجای آن استفاده کنید
و دلیل اصلی استفاده (جایگزینی) بنده بر این کاراکتر به علت زیاد بودن مصرف کاراکتر ' در متون تایپی در فیلدها (مخصوصا عبارات فارسی) بوده است
2)در جملات فارسی جای " اشتباه است
اشتباهی نیست عمدا با کاراکتر ' جایگزین شده است (به علت اینکه در صورت وجود با کاراکتر محدوده کننده ابتدا و انتهای رشته (") تداخل و نهایتا باعث خرابی در ذخیره اطلاعات می گردید.
اگر دقت کرده باشید در متن سورس به هنگام تبدیل به sql اینکار انجام شده است.
DO WHILE !EOF()
_VAR_ = 'insert into "' + _dbf + '" value ('
FOR IJ = 1 TO ALEN(TMP_FI,1)
_var1 = &TMP_FI[IJ,1]
CH = IIF(TYPE('_var1')='N', .f., .t.)
_VAR1 = any2str(_VAR1)
_var_ = _VAR_ + IIF(IJ<>1,',','')+ IIF(ch,'"','')+CHRTRAN(ALLTRIM(_var1),'"',"'")+IIF (ch,'"','')
ENDFOR
=FPUTS(FL_FILE,_VAR_+');')
SKIP
ENDDO
البته نهایتا در صورت تمایل (سلیقه) شما می تونید این حالت را بردارید و از همان کارکتر ' استفاده کنید ولی باید دقت کنید که در صورت وجود کاراکتر موردنظر (') در متن حتما باید آن را باید " جایگزین کرده (و یا عبارت \\ را قبل از آن قرار دهید)
(نکته: به تجربه (تبدیل حجم بالایی از جداول در محیط داس و ویندوز به محیط وب) همانطور که قبلا گفتم (استفاده از کاراکتر موردنظر زیاد بوده) از این حالت استفاده کردم و تاکنون در تبدیل اطلاعات به محیط وب جواب مطلوب تری گرفتم.
(البته نهایتا امری است سلیقه ای و شما می تونید اون را مطابق نظر خود تغییر دهید)
همانطور که میبینید بخشی از کد زیر نا مشخص است لطف کرده و آن بخشها را شرح دهید.
کدوم قسمت نامشخص است؟!!
این تابع جهت تبدیل از کدپیچ ویندوز به کدپیچ ایران سیستم (داس) می باشد
و اگر منظورتون توضیحات جلوی بعضی از متغیرهای اول تابع است که کافی است این فایل را با فونت ایران سیستم یا ... ببنید
و اگر منظورتون توضیح کلی الگوریتم کار است که مشابه بقیه تبدیلهاست و از دو رشته اصلی ramz1,ramz2 (اولی حروف در کدپیچ ویندوز) و دومی معادل حروف رشته اول در کدپیچ ایران سیستم هست.
و اگر باز توضیح راجع به تابع traz می خواهید, آن بدین صورت است که اگر بدانید به علت تک نمادی بودن حروف در کدپیچ عربیک ویندوز (برای هر حرف یک کاراکتر وجود دارد (یعنی برای حالتهای مختلف یک حرف مثل ع ( ع اول - ع وسط - ع آخر (ععع) ) ) و وجود کاراکترهای مختلف برای حالت مختلف هر حرف (مخصوصا در فارسی) شما باید بعد از تبدیل باید نسبت به آنالیز (ترازبندی) حروف خودتان اقدام کنید که این تابع در حقیقت این کار را انجام می دهد.