View Full Version : جداول ديتابيس
rahro
پنج شنبه 17 مرداد 1387, 06:32 صبح
سلام
آيا تابعي هست كه نام جداول يك ديتابيس رو در خروجي يك آرايه ارائه بده(تمام جداول يك پوشه را نميخواهم فقط جداول يك ديتابيس) يا تابعي كه اعلام كنه يك جدول از نوع جداول آزاده يا ديتابيس.
NewFoxStudent
پنج شنبه 17 مرداد 1387, 10:16 صبح
با تابع CursorGetprop("DataBase") میتونی بفهمی که هر جدولی که باز شده متعلق به کدوم دیتابیس
NewFoxStudent
پنج شنبه 17 مرداد 1387, 10:20 صبح
Display Tables To File filename
این دستور هم جداول مربوط به دیتابیسی که باز شده رو نمایش میده
NewFoxStudent
پنج شنبه 17 مرداد 1387, 10:21 صبح
CLOSE DATABASES
SET PATH TO (HOME(2) + 'Data\') && Sets path to database
OPEN DATABASE testdata && Open testdata database
CLEAR
DISPLAY TABLES TO File C:\TableList.txt && Displays information about tables in the database
NewFoxStudent
پنج شنبه 17 مرداد 1387, 10:24 صبح
List Tables To File filename
NewFoxStudent
پنج شنبه 17 مرداد 1387, 10:28 صبح
راه های زیاد دیگه ای هم وجود داره که تو هلپ فاکس گفته شده
NewFoxStudent
پنج شنبه 17 مرداد 1387, 10:30 صبح
اگه مقدار بازگشتی از تابع CursorGetprop("DataBase"( برای یه جدول برابر NULL باشه یعنی اینکه اون جدول یه جدول آزاد در غیر این صورت اون جدول متعلق به یک دیتابیس
سعید حمیدیانفر
پنج شنبه 17 مرداد 1387, 14:43 عصر
راه ساده تر اينه كه فايل ديتا بيس رو بصورت جدول باز كنيد و هر چيزي كه دلتون ميخواد از اطاعاتش استخراج كنيد
use (databaseFilename)
brow
kia1349
پنج شنبه 17 مرداد 1387, 16:36 عصر
CLEAR
CLEAR ALL
PUBLIC adbtable(1)
gcdbc = GETFILE('DBC')
gcdir = ""
DO CASE
CASE EMPTY(gcdbc)
RETURN
ENDCASE
OPEN DATABASE (gcdbc)
clistfile = ADATABASES(atmp)
IF VARTYPE(atmp) = "U"
MESSAGEBOX( ;
'Database could not be opened' ;
)
RETURN
ENDIF
cdbfullname = atmp(1, 2)
cdbshortname = atmp(1, 1)
ADBOBJECTS(tmptable, "Table")
m.redim = ALEN(tmptable)
DIMENSION adbtable(m.redim)
= ACOPY(tmptable, adbtable)
FOR i = 1 TO m.redim
? adbtable(i)
ENDFOR
rahro
شنبه 19 مرداد 1387, 06:44 صبح
اگه مقدار بازگشتی از تابع CursorGetprop("DataBase"( برای یه جدول برابر NULL باشه یعنی اینکه اون جدول یه جدول آزاد در غیر این صورت اون جدول متعلق به یک دیتابیس
دوست عزيز از اين لطف و پيگيري شما بي نهايت متشكرم
موارد قبل رو ديده بودم . اين يكي رو تست زدم ولي جوابي به دست نياوردم .
?CURSORGETPROP("databas","bank")
?CURSORGETPROP("databas","h:\personelii\bank")
rahro
شنبه 19 مرداد 1387, 06:49 صبح
CLEAR
CLEAR ALL
PUBLIC adbtable(1)
gcdbc = GETFILE('DBC')
gcdir = ""
DO CASE
CASE EMPTY(gcdbc)
RETURN
ENDCASE
OPEN DATABASE (gcdbc)
clistfile = ADATABASES(atmp)
IF VARTYPE(atmp) = "U"
MESSAGEBOX( ;
'Database could not be opened' ;
)
RETURN
ENDIF
cdbfullname = atmp(1, 2)
cdbshortname = atmp(1, 1)
ADBOBJECTS(tmptable, "Table")
m.redim = ALEN(tmptable)
DIMENSION adbtable(m.redim)
= ACOPY(tmptable, adbtable)
FOR i = 1 TO m.redim
? adbtable(i)
ENDFOR
متشكرم استاد كيا
خيلي لطف كرديد
NewFoxStudent
شنبه 19 مرداد 1387, 10:50 صبح
حتما باید جدولی که دیتابیسش رو میخواهید USE کرده باشید
Use Bank
?CursorGetProp("DataBase","Bank")
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.