رفتن به مطلب
  • 0

نمایش پیغام no such table


hojjatalavi

سوال

سلام من درون برنامه توی یه دیتا بیس یک سری مقادیر رو میخوام اضافه کنم . با اینکه دیتا بیس رو ساختم و جدول درون دیتا بیس موجود هست ولی باز هم ارور میده و توی برگه  log پیغام no such table رو نمایش میده .کسی میتونه کمکم کنه؟؟؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ارسال‌های توصیه شده

این هم کد کاملش

اگه جدول شما بازم چیزی غیر از این هست کوئری ساخت اون رو قرار بدید تا بگم چجوری باید اینزرت کنید. این کد ها رو هم من تست کردم و هیچ مشکلی نداره.

فقط من جدول و دیتابیس رو با توجه به مشخصاتی که دادید خودم ساختم و اینجا دیگه کپی نشده.

#Region  Project Attributes 
	#ApplicationLabel: B4A Example
	#VersionCode: 1
	#VersionName: 
	'SupportedOrientations possible values: unspecified, landscape or portrait.
	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: True
#End Region

Sub Process_Globals
	'These global variables will be declared once when the application starts.
	'These variables can be accessed from all modules.
	Dim sql As SQL
End Sub

Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.
	Dim btn As Button
	Dim lv As ListView
End Sub

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	'Activity.LoadLayout("Layout1")
	
	btn.Initialize("btn")
	btn.Text = "Insert"
	Activity.AddView(btn,0,0,100%x,10%y)
	
	lv.Initialize("lv")
	lv.SingleLineLayout.Label.TextSize = 13
	Activity.AddView(lv,0,10%y,100%x,90%y)
	
End Sub

Sub Activity_Resume
	If sql.IsInitialized = False Then
		sql.Initialize(File.DirInternal,"DAMA.db",True)
		sql.ExecNonQuery("CREATE TABLE IF NOT EXISTS `DAMA` (`DateAndTime` TEXT,`d1` REAL,`d2` REAL,`d3` REAL,`d4` REAL);")
	End If
	
	selectA
End Sub

Sub Activity_Pause (UserClosed As Boolean)
	sql.Close
End Sub

Sub btn_Click
	
	Dim DateAndTime As String = "12/31/2017 22:46"
	Dim DAMA(4) As Double
	DAMA(0) = 14.47
	DAMA(1) = -3.4
	DAMA(2) = 32.9978
	DAMA(3) = -45.75
	
	sql.ExecNonQuery2("INSERT INTO DAMA VALUES (?, ?, ?, ?, ?)", Array As Object(DateAndTime, DAMA(0), DAMA(1), DAMA(2), DAMA(3)) )
	
	selectA
	 
End Sub

Sub selectA
	
	lv.Clear
	
	Dim Cursor As Cursor
	Cursor = sql.ExecQuery("SELECT * FROM DAMA ")
	For i = 0 To Cursor.RowCount - 1
		Cursor.Position = i
		
		lv.AddSingleLine( Cursor.GetString("DateAndTime") &" :: "& Cursor.GetDouble("d1") &"  "& Cursor.GetDouble("d2") &"  "& Cursor.GetDouble("d3") &"  "& Cursor.GetDouble("d4") )
	Next
	
End Sub

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 5 ساعت قبل، محمد رشوند گفته است :

به تعداد ستون هایی که دارید علامت سوال بزارید

و برای مقدار ایدی اگر در جدولتون تیک کلید اصلی برای ستون id خورده باشه خود کار جنریت میشه و نیازی نیست مقدار دهی انجام بدید

الان به جز ستون id اینزرت بقیه ستون هارو انجام بدید

اگر احیاناً با خطا مواجه شدید یه علامت سوال هم اضافه کنید و مقدارش رو برابر با null کنید

خیلی ممنونم.

یه مشکلی که برای مقدار دهی بعد از عبارت value بهش بر خوردم اینه که نمیشه مقادیر را با کاما از هم جدا کرد و حتما باید از کاما کوتیشن اند ('"& عبارت &"') استفاده کرد .در این مورد باید چکار کنم ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 1396/10/07, 16:37:15، محمد رشوند گفته است :

به تعداد ستون هایی که دارید علامت سوال بزارید

و برای مقدار ایدی اگر در جدولتون تیک کلید اصلی برای ستون id خورده باشه خود کار جنریت میشه و نیازی نیست مقدار دهی انجام بدید

الان به جز ستون id اینزرت بقیه ستون هارو انجام بدید

اگر احیاناً با خطا مواجه شدید یه علامت سوال هم اضافه کنید و مقدارش رو برابر با null کنید

نشد که نشد

دستورات و نتایجشون به این شکل هست :

    sql.ExecNonQuery2("INSERT INTO DAMA VALUES(?,?,?,?,?)" , Array As Int("11114", DAMA(0) , DAMA(1) ,DAMA(2), DAMA(3) ))

ایرادی که میگیره :

Error occurred on line: 247 (Main)
android.database.sqlite.SQLiteException: table DAMA has 6 columns but 5 values were supplied (code 1): , while compiling: INSERT INTO DAMA VALUES(?,?,?,?,?)
#################################################################
Error Code : 1 (SQLITE_ERROR)
Caused By : SQL(query) error or missing database.
    (table DAMA has 6 columns but 5 values were supplied (code 1): , while compiling: INSERT INTO DAMA VALUES(?,?,?,?,?))
#################################################################
    at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
    at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1058)
    at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:623)
    at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
    at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)
    at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
    at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1132)
    at anywheresoftware.b4a.sql.SQL.ExecNonQuery2(SQL.java:78)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.shell.Shell.runVoidMethod(Shell.java:755)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:345)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:249)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:134)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:167)
    at anywheresoftware.b4a.debug.Debug.delegate(Debug.java:259)
    at b4a.example.main._sms_proceed(main.java:553)
    at b4a.example.main._activity_create(main.java:539)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:710)
 

دستور رو عوض که میکنم اینطوری میشه :

sql.ExecNonQuery2("INSERT INTO DAMA VALUES(?,?,?,?,?,?)" , Array As Int(Null,"11114", DAMA(0) , DAMA(1) ,DAMA(2), DAMA(3) ))

ایرادی که میگیره :

Error occurred on line: 247 (Main)
java.lang.NumberFormatException: Invalid double: "null"
    at java.lang.StringToReal.invalidReal(StringToReal.java:63)
    at java.lang.StringToReal.initialParse(StringToReal.java:164)
    at java.lang.StringToReal.parseDouble(StringToReal.java:282)
    at java.lang.Double.parseDouble(Double.java:301)
    at anywheresoftware.b4a.BA.ObjectToNumber(BA.java:622)
    at b4a.example.main._sms_proceed(main.java:698)
    at b4a.example.main._activity_create(main.java:539)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:710)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:342)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:249)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:134)
    at b4a.example.main.afterFirstLayout(main.java:102)
    at b4a.example.main.access$000(main.java:17)
    at b4a.example.main$WaitForLayout.run(main.java:80)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:158)
    at android.app.ActivityThread.main(ActivityThread.java:7225)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
** Activity (main) Resume **
 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کوئری ساخت جدول مثل

CREATE TABLE `b` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `g` INTEGER )

یا خود پایگاه داده رو هم اگه امکانش هست بی زحمت قرار بدید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 18 ساعت قبل، hojjatalavi گفته است :

نشد که نشد

دستورات و نتایجشون به این شکل هست :


    sql.ExecNonQuery2("INSERT INTO DAMA VALUES(?,?,?,?,?)" , Array As Int("11114", DAMA(0) , DAMA(1) ,DAMA(2), DAMA(3) ))

ایرادی که میگیره :

Error occurred on line: 247 (Main)
android.database.sqlite.SQLiteException: table DAMA has 6 columns but 5 values were supplied (code 1): , while compiling: INSERT INTO DAMA VALUES(?,?,?,?,?)
#################################################################
Error Code : 1 (SQLITE_ERROR)
Caused By : SQL(query) error or missing database.
    (table DAMA has 6 columns but 5 values were supplied (code 1): , while compiling: INSERT INTO DAMA VALUES(?,?,?,?,?))
#################################################################
    at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
    at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1058)
    at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:623)
    at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
    at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)
    at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
    at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1132)
    at anywheresoftware.b4a.sql.SQL.ExecNonQuery2(SQL.java:78)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.shell.Shell.runVoidMethod(Shell.java:755)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:345)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:249)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:134)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:167)
    at anywheresoftware.b4a.debug.Debug.delegate(Debug.java:259)
    at b4a.example.main._sms_proceed(main.java:553)
    at b4a.example.main._activity_create(main.java:539)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:710)
 

دستور رو عوض که میکنم اینطوری میشه :


sql.ExecNonQuery2("INSERT INTO DAMA VALUES(?,?,?,?,?,?)" , Array As Int(Null,"11114", DAMA(0) , DAMA(1) ,DAMA(2), DAMA(3) ))

ایرادی که میگیره :

Error occurred on line: 247 (Main)
java.lang.NumberFormatException: Invalid double: "null"
    at java.lang.StringToReal.invalidReal(StringToReal.java:63)
    at java.lang.StringToReal.initialParse(StringToReal.java:164)
    at java.lang.StringToReal.parseDouble(StringToReal.java:282)
    at java.lang.Double.parseDouble(Double.java:301)
    at anywheresoftware.b4a.BA.ObjectToNumber(BA.java:622)
    at b4a.example.main._sms_proceed(main.java:698)
    at b4a.example.main._activity_create(main.java:539)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:710)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:342)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:249)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:134)
    at b4a.example.main.afterFirstLayout(main.java:102)
    at b4a.example.main.access$000(main.java:17)
    at b4a.example.main$WaitForLayout.run(main.java:80)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:158)
    at android.app.ActivityThread.main(ActivityThread.java:7225)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
** Activity (main) Resume **
 

 

سلام میگه مقدار Null درست نیست قبول نمی کنه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱ ساعت قبل، hojjatalavi گفته است :

چرا کسی به داد من نمیرسه ؟!!!!!

ایها الناس  ...

سلام ،خدا قوت 

این خطای زیر که سراغ شما اومده برای منم توی ارسال اطلاعات به کوئری ودیتابیس پیش آمده ! 

درسته در بیسیک فور می تونید متغییر های عددی رو بجای متغییر های رشته ای و استرینگ و برعکس استفاده کنید 

ولی یک نکته مهم هست ، اونم اینه که موقع ارسال اون به کوئری جهت استفاده از دیتابیس این مسئله فرق می کند و حتما باید مثلا متغییر رشته ای رو در یک متغیر جدید تبدیل به متغییر عددی بدون کاماکوتیشن(") بکنید بعد به کوئری ارسال کنید .شما در کوئری عدد نیاز دارید ولی مقدار رشته ای ارسال کرده اید!

(Main)
java.lang.NumberFormatException: Invalid double: "null"

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 3 ساعت قبل، نورنما گفته است :

سلام ،خدا قوت 

این خطای زیر که سراغ شما اومده برای منم توی ارسال اطلاعات به کوئری ودیتابیس پیش آمده ! 

درسته در بیسیک فور می تونید متغییر های عددی رو بجای متغییر های رشته ای و استرینگ و برعکس استفاده کنید 

ولی یک نکته مهم هست ، اونم اینه که موقع ارسال اون به کوئری جهت استفاده از دیتابیس این مسئله فرق می کند و حتما باید مثلا متغییر رشته ای رو در یک متغیر جدید تبدیل به متغییر عددی بدون کاماکوتیشن(") بکنید بعد به کوئری ارسال کنید .شما در کوئری عدد نیاز دارید ولی مقدار رشته ای ارسال کرده اید!


(Main)
java.lang.NumberFormatException: Invalid double: "null"

 

 

ساام و خدا قوت

ممنون بابت راهنمایی که کردین.

دوست عزیز جدول دیتابیس من دارای یک فیلد تاریخ و ساعت (string)و 4 مقدار دما (real)اعشاری هست میشه لطف کنی واسه وارد کردن اطلاعاتش یه کد بنویسی .

آرایه ()Dama مقادیر دما رو تو خودش داره .تاریخ و ساعت هم که از سیستم میگیریم

ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 1396/10/10, 01:01:18، rasool.g گفته است :

این هم کد کاملش

اگه جدول شما بازم چیزی غیر از این هست کوئری ساخت اون رو قرار بدید تا بگم چجوری باید اینزرت کنید. این کد ها رو هم من تست کردم و هیچ مشکلی نداره.

فقط من جدول و دیتابیس رو با توجه به مشخصاتی که دادید خودم ساختم و اینجا دیگه کپی نشده.


#Region  Project Attributes 
	#ApplicationLabel: B4A Example
	#VersionCode: 1
	#VersionName: 
	'SupportedOrientations possible values: unspecified, landscape or portrait.
	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: True
#End Region

Sub Process_Globals
	'These global variables will be declared once when the application starts.%0
در در 1396/10/10, 01:01:18، rasool.g گفته است :

این هم کد کاملش

اگه جدول شما بازم چیزی غیر از این هست کوئری ساخت اون رو قرار بدید تا بگم چجوری باید اینزرت کنید. این کد ها رو هم من تست کردم و هیچ مشکلی نداره.

فقط من جدول و دیتابیس رو با توجه به مشخصاتی که دادید خودم ساختم و اینجا دیگه کپی نشده.


#Region  Project Attributes 
	#ApplicationLabel: B4A Example
	#VersionCode: 1
	#VersionName: 
	'SupportedOrientations possible values: unspecified, landscape or portrait.
	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: True
#End Region

Sub Process_Globals
	'These global variables will be declared once when the application starts.
	'These variables can be accessed from all modules.
	Dim sql As SQL
End Sub

Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.
	Dim btn As Button
	Dim lv As ListView
End Sub

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	'Activity.LoadLayout("Layout1")
	
	btn.Initialize("btn")
	btn.Text = "Insert"
	Activity.AddView(btn,0,0,100%x,10%y)
	
	lv.Initialize("lv")
	lv.SingleLineLayout.Label.TextSize = 13
	Activity.AddView(lv,0,10%y,100%x,90%y)
	
End Sub

Sub Activity_Resume
	If sql.IsInitialized = False Then
		sql.Initialize(File.DirInternal,"DAMA.db",True)
		sql.ExecNonQuery("CREATE TABLE IF NOT EXISTS `DAMA` (`DateAndTime` TEXT,`d1` REAL,`d2` REAL,`d3` REAL,`d4` REAL);")
	End If
	
	selectA
End Sub

Sub Activity_Pause (UserClosed As Boolean)
	sql.Close
End Sub

Sub btn_Click
	
	Dim DateAndTime As String = "12/31/2017 22:46"
	Dim DAMA(4) As Double
	DAMA(0) = 14.47
	DAMA(1) = -3.4
	DAMA(2) = 32.9978
	DAMA(3) = -45.75
	
	sql.ExecNonQuery2("INSERT INTO DAMA VALUES (?, ?, ?, ?, ?)", Array As Object(DateAndTime, DAMA(0), DAMA(1), DAMA(2), DAMA(3)) )
	
	selectA
	 
End Sub

Sub selectA
	
	lv.Clear
	
	Dim Cursor As Cursor
	Cursor = sql.ExecQuery("SELECT * FROM DAMA ")
	For i = 0 To Cursor.RowCount - 1
		Cursor.Position = i
		
		lv.AddSingleLine( Cursor.GetString("DateAndTime") &" :: "& Cursor.GetDouble("d1") &"  "& Cursor.GetDouble("d2") &"  "& Cursor.GetDouble("d3") &"  "& Cursor.GetDouble("d4") )
	Next
	
End Sub

 

سلام 

ممنون دوست عزیز مشکل حل شد .خیلی لطف کردید.

یه مورد دیگه که هر چی چک میکنم پیداش نمیکنم فایل دیتابیسی که ساختیم توی گوشی وجود نداره .مسیر رو چک کردم اصلا فولدر مربوطه رو هم نساخته .اما دیتابیس به تعداد خطهاش اضافه میشه و داره کار خودش رو انجام میده.

چطوری فایل دیتا بیس رو پیدا کنم ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام. خواهش میکنم.

ادرس

File.DirInternal

به یه قسمت از حافظه اینترنال اشاره داره که به همین برنامه اختصاص داده شده و با فایل منیجر در حالت معمول نمی تونید بهش دسترسی داشته باشید و فایل هاش رو مشاهده کنید.

به جای اون از ادرس زیر استفاده کنید تا بتونید به فایل دیتابیس دسترسی داشته باشید و فایل در حافظه معمولی و قابل دسترس گوشی شما ذخیره بشه

File.DirRootExternal

یا اگه می خواید در پوشه خاصی ذخیره بشه

ّFile.DirRootExternal & "/myfolder/folderA"

شاید لازم باشه پوشه رو با دستور makeDir قبلش بسازید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 33 دقیقه قبل، rasool.g گفته است :

سلام. خواهش میکنم.

ادرس


File.DirInternal

به یه قسمت از حافظه اینترنال اشاره داره که به همین برنامه اختصاص داده شده و با فایل منیجر در حالت معمول نمی تونید بهش دسترسی داشته باشید و فایل هاش رو مشاهده کنید.

به جای اون از ادرس زیر استفاده کنید تا بتونید به فایل دیتابیس دسترسی داشته باشید و فایل در حافظه معمولی و قابل دسترس گوشی شما ذخیره بشه


File.DirRootExternal

یا اگه می خواید در پوشه خاصی ذخیره بشه


ّFile.DirRootExternal & "/myfolder/folderA"

شاید لازم باشه پوشه رو با دستور makeDir قبلش بسازید.

سلام جسارتا این موارد که فرمودید میدونم اما این برام سوال هست که فایل dama.db در حال حاضر هر چی میگردم در گوشی وجود نداره .اما وقتی برنامه رو باز میکنم کلیه مطالب دیتابیس رو تو لیست ویوو نمایش میده .الان سوال اینه که این فایل کجاست ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام 

به اصطلاح این پوشه هیدن و مخفی وغیر قابل دسترسی هست لذا نمی تونید بهش دسترسی عادی داشته باشید!

اصلا پی این پوشه رفتن هم فایده ای نداره ونرم افزار نویسا به سراغش نمیره چون اگربه رویت فایلی در شبیه ساز نیاز داشته باشندخب اونو تو پوشه DirRootExternal

کپی میکنند!

لذا اگه بهش نیاز دارید و بخواین فعلا براتون قابل نمایش باشه همان روش دوستمون آقا رسول رو انجام بدین . 

حالا اگر باز اصرار دارید بهش دسترسی داشته باشید این لینک زیر را از سایت مرجع ببینید که گفته اپ های دیگه نمی تونندبه محتویات این پوشه دسترسی داشته باشند!.

File.DirInternal / File.DirInternalCache
These two folders are stored in the main memory and are private to your application. Other applications cannot access these files.
The cache folder may get deleted by the OS if it needs more space.

_________

Android Tutorial - Text files | B4X Community - Android, iOS, desktop, server and IoT programming tools

 


 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام 

به اصطلاح این پوشه هیدن و مخفی وغیر قابل دسترسی هست لذا نمی تونید بهش دسترسی عادی داشته باشید!

اصلا پی این پوشه رفتن هم فایده ای نداره ونرم افزار نویسا به سراغش نمیره چون اگربه رویت فایلی در شبیه ساز نیاز داشته باشندخب اونو تو پوشه DirRootExternal

کپی میکنند!

لذا اگه بهش نیاز دارید و بخواین فعلا براتون قابل نمایش باشه همان روش دوستمون آقا رسول رو انجام بدین . 

حالا اگر باز اصرار دارید بهش دسترسی داشته باشید این لینک زیر را از سایت مرجع ببینید که گفته اپ های دیگه نمی تونندبه محتویات این پوشه دسترسی داشته باشند!.

File.DirInternal / File.DirInternalCache
These two folders are stored in the main memory and are private to your application. Other applications cannot access these files.
The cache folder may get deleted by the OS if it needs more space.

_________

Android Tutorial - Text files | B4X Community - Android, iOS, desktop, server and IoT programming tools

 


 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام. اگه ادرس زیر به File.DirRootExternal تغییر دادید. باید فایل DAMA.db توی کارت حافظه اصلی گوشی باشه. یعنی در فایل منیجر وارد کارت حافظه اصلی که شدید باید در کنار پوشه هاتون باشه. این فایل مخفی هم نیستش .

sql.Initialize(File.DirInternal,"DAMA.db",True)

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 59 دقیقه قبل، rasool.g گفته است :

سلام. اگه ادرس زیر به File.DirRootExternal تغییر دادید. باید فایل DAMA.db توی کارت حافظه اصلی گوشی باشه. یعنی در فایل منیجر وارد کارت حافظه اصلی که شدید باید در کنار پوشه هاتون باشه. این فایل مخفی هم نیستش .


sql.Initialize(File.DirInternal,"DAMA.db",True)

 

تغییر ندادم . همون DirInternal هستش .اما اصلا فایلی به نام dama.db توی گوشی وجود نداره .شما یکبار همون برنامه ای که زحمت کشیدی برام نوشتی رو توی گوشیت نصب کن ببین فایل رو ایجاد میکنه یا نه .البته بی زحمت ..... ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 5 دقیقه قبل، hojjatalavi گفته است :

تغییر ندادم . همون DirInternal هستش .اما اصلا فایلی به نام dama.db توی گوشی وجود نداره .شما یکبار همون برنامه ای که زحمت کشیدی برام نوشتی رو توی گوشیت نصب کن ببین فایل رو ایجاد میکنه یا نه .البته بی زحمت ..... ممنون

:fekr: چرا تغییر ندادید؟! عرض کردم تغییر ندین که قابل دسترسی نیست ، دوستمون آقا رسول هم منظورش اینه که اگر تغییر بدین قابل دیدن ودسترسی هست والا دیده نمیشه! :give_rose:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 58 دقیقه قبل، نورنما گفته است :

:fekr: چرا تغییر ندادید؟! عرض کردم تغییر ندین که قابل دسترسی نیست ، دوستمون آقا رسول هم منظورش اینه که اگر تغییر بدین قابل دیدن ودسترسی هست والا دیده نمیشه! :give_rose:

واسه اینکه نمیخواستم تو مموری نصب بشه .میخواستم تو حافظه داخلی گوشی باشه ..  

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 17 دقیقه قبل، hojjatalavi گفته است :

واسه اینکه نمیخواستم تو مموری نصب بشه .میخواستم تو حافظه داخلی گوشی باشه ..  

اشتباه نکنید. حافظه اکسترنال که متد File.DirRootExternal ادرسش رو بر میگردونه در اینجا منظور کارت حافظه اضافی و قابل برداشتن که باسه گوشی میخرید نیستش. منظور همون حافظه ای هستش که از ابتدا روی گوشی هست. حافظه ی داخلی (اینترنال) یه قسمت غیر قابل دیدن و غیر قابل دسترسی برای کاربران عادی هستش که اگه اشتباه نکنم به برنامه ها و سیستم عامل اختصاص داره و برای دیدن اون قسمت فکر کنم باید گوشی رو روت کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 8 دقیقه قبل، rasool.g گفته است :

اشتباه نکنید. حافظه اکسترنال که متد File.DirRootExternal ادرسش رو بر میگردونه در اینجا منظور کارت حافظه اضافی و قابل برداشتن که باسه گوشی میخرید نیستش. منظور همون حافظه ای هستش که از ابتدا روی گوشی هست. حافظه ی داخلی (اینترنال) یه قسمت غیر قابل دیدن و غیر قابل دسترسی برای کاربران عادی هستش که اگه اشتباه نکنم به برنامه ها و سیستم عامل اختصاص داره و برای دیدن اون قسمت فکر کنم باید گوشی رو روت کنید.

اما برنامه ای که قبلا خودم نوشته بودم رو حافظه اینترنال بود و فایل دیتابیس رو هم میساخت .

لینک ارسال
به اشتراک گذاری در سایت های دیگر

منظورتون از ساختن اینه دیتابیسش توسط فایل منیجر قایل دیدن بود؟ چون ساختن که اینجا هم دیتابیسش ساخته میشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...