PDA

View Full Version : ساخت دیسکت بیمه!!!!



hooooman
چهارشنبه 14 بهمن 1388, 12:32 عصر
سلام
آقا من 1 بار دیگم این سوالو پرسیدم ولی جوابی نگرفتم
من اطلاعات تحت ویندوزمو کانورت میکنم به داس . اگه اطلاعاتو توی 1 فایل Txt بریزم توی داس که edit کنم مشکلی نیست . اما وقتی اطلاعاتو با Ado.net میریزم توی Dbf بعضی کاراکتر ها ? میشن
تو رو خدا اگه میدونین مشکل چیه کمک کنین از زمان تحویل 2 هفته گذشته کلی ضرو زیان باید بدم!

shahram197070
چهارشنبه 14 بهمن 1388, 22:38 عصر
با سلام
منم این مشکل رو داشتم خیلی هم تلاش کردم که بتونم به صورت مستقیم اطلاعات رو داخل DBF بریزم ولی نشد .
اما روشی که من استفاده می کنم اینه که :
1- برنامه اطلاعات رو از بانک َAccess یا sql می خونه اونها رو تبدیل به Dos می کنه و درون یک فایل TXT می ریزه
2-یک برنامه کوچک به زبان فاکس پرو هم نوشتم و اون رو به EXE تبدیل کردم و در کنار برنامه قرار دادم که بعد از این که مرحله اول تمام شد اون فایل EXE فراخوانی می شه و کارش اینه که اطلاعات رو از درون فایل TXT می خونه و درون بانک DBF قرار می ده .
موفق باشی.

اینم کد :


set talk off
set safe off
close all
use Dskwor00.dbf
zap
STORE FOPEN('g.txt') TO fhandle && Open the file
STORE FSEEK(fhandle, 0) TO ifp_top && Move pointer to BOF

lstring = FGETS(fhandle )
J =val(lstring)
lstring = FREAD(fhandle, 2)

for i=1 to j
append blank
lstring = FREAD(fhandle, 10)
replace DSW_ID with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,2)
replace DSW_MM with val(lstring)
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,2)
replace DSW_YY with val(lstring)
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,12)
replace DSW_LISTNO with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,8)
replace DSW_ID1 with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,20)
replace DSW_FNAME with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,25)
replace DSW_LNAME with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,20)
replace DSW_DNAME with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,15)
replace DSW_IDNO with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,30)
replace DSW_IDPLC with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,8)
replace DSW_IDATE with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,8)
replace DSW_BDATE with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,3)
replace DSW_SEX with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,10)
replace DSW_NAT with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,50)
replace DSW_OCP with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,8)
replace DSW_SDATE with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,8)
replace DSW_EDATE with lstring
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,2)
replace DSW_DD with val(lstring)
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,12)
replace DSW_ROOZ with val(lstring)
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,12)
replace DSW_MAH with val(lstring)
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,12)
replace DSW_MAZ with val(lstring)
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,12)
replace DSW_MASH with val(lstring)
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,12)
replace DSW_TOTL with val(lstring)
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,12)
replace DSW_BIME with val(lstring)
lstring = FREAD(fhandle, 2)

lstring = FREAD(fhandle,2)
replace DSW_PRATE with val(lstring)
lstring = FREAD(fhandle, 2)

endfor

use Dskkar00.dbf
zap
append blank

l_string = FREAD(fhandle, 10)
replace DSK_ID with l_string
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 30)
replace DSK_NAME with l_string
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 30)
replace DSK_FARM with l_string
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 40)
replace DSK_ADRS with l_string
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 1)
replace DSK_KIND with val(l_string)
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 2)
replace DSK_YY with val(l_string)
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 2)
replace DSK_MM with val(l_string)
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 12)
replace DSK_LISTNO with l_string
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 5)
replace DSK_NUM with val(l_string)
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 6)
replace DSK_TDD with val(l_string)
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 12)
replace DSK_TROOZ with val(l_string)
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 12)
replace DSK_TMAH with val(l_string)
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 12)
replace DSK_TMAZ with val(l_string)
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 12)
replace DSK_TMASH with val(l_string)
l_string = FREAD(fhandle, 2)


l_string = FREAD(fhandle, 12)
replace DSK_TTOTL with val(l_string)
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 12)
replace DSK_TBIME with val(l_string)
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 12)
replace DSK_TKOSO with val(l_string)
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 12)
replace DSK_BIC with val(l_string)
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 5)
replace DSK_RATE with val(l_string)
l_string = FREAD(fhandle, 2)

l_string = FREAD(fhandle, 2)
replace DSK_PRATE with val(l_string)
l_string = FREAD(fhandle, 2)

close all
return

علیرضا حسن زاده
چهارشنبه 14 بهمن 1388, 23:53 عصر
سلام
آقا من 1 بار دیگم این سوالو پرسیدم ولی جوابی نگرفتم
من اطلاعات تحت ویندوزمو کانورت میکنم به داس . اگه اطلاعاتو توی 1 فایل Txt بریزم توی داس که edit کنم مشکلی نیست . اما وقتی اطلاعاتو با Ado.net میریزم توی Dbf بعضی کاراکتر ها ? میشن
تو رو خدا اگه میدونین مشکل چیه کمک کنین از زمان تحویل 2 هفته گذشته کلی ضرو زیان باید بدم!
زبان ویندوزت رو عوض کن درست میشه Farsi-Farsi (تب سوم Regiona and... رو فارسی انتخاب کن) توی تب اول هم فارسی رو انتخاب کن
حل می شه
اگه فایل یا OCXیی رو که واسه تبدیل استفاده می کنی رو بذاری هم ممنون میشم
(من خودم به تابع واسه تبدیل از داس به ویندوز و بالعکس نوشتم) می خوام روش کار برنامه های دیگه رو هم ببینم
موفق باشید.

armin8651
پنج شنبه 15 بهمن 1388, 10:05 صبح
میشه یه راهنمایی کنین که چه جوری داده ها رو که از SQL میگیرم تو فایل DBF ذخیره کنم؟
ممنون

davood-ahmadi
پنج شنبه 15 بهمن 1388, 10:52 صبح
کانکشن DBF :



Dim connectionString As String = "Driver={Microsoft FoxPro VFP Driver (*.dbf)};sourcedb=" & Path & ";sourcetype=DBF;exclusive=No;backgroundfetch=Yes;c ollate=Machine;null=Yes;deleted=Yes"
Dim CnnDbf As New Odbc.OdbcConnection(connectionString)


دیتا آداپتر DBF :

Dim DbfDa As New Odbc.OdbcDataAdapter("select * from " & DT(Type, 2), CnnDbf)
Dim DbfDs As New DataSet

بقیه روال کار DBF هم مثل Sql است.