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

ذخیره داده های جیسون داخل بانک sql


milad_sabz

سوال

دوستان گلم سلام 

 

سوالم اینه که من یکسری داده رو از جیسون آنلاین خوندم و ریختمشون داخل یک map و حتی در لیست ویو هم به ترتیب و درست نمایششون دادم . حالا وقتی میخوام با کدهای اس کیو ال مثل

insert into tbl_show

اطلاعات داخل مپ رو تو اس کیوال ذخیره کنم مشکل دارم .

ممنونتون میشم کد ذخیره داده های داخل یک مپ رو در بانک اطلاعاتی اس کیو ال بدین ‌. در ضمن توی‌جیسون ام داده ها اینجورین :

 "Name":"saeed"

"Age":"19" 

و الی آخر

و اینکه چند صد رکورد داده در جیسون ام موجوده که الان داخل مپ استور شده

 

امیدوارم سوالم تونسته باشم درست مطرح کنم .

باتشکر

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

3 پاسخ به این سوال تاکنون داده شده است

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

در 23 ساعت قبل، shahab.es گفته است :

سلام

lگر نمیدوید به چه شکل هست که این یک نمونه

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


Dim jp As JSONParser
jp.Initialize(job.GetString)
Dim myList As List
myList.Initialize
myList = jp.NextArray
For Each myMap As Map In myList
	Try
		sqlupdate.ExecNonQuery("INSERT INTO tbl1 (id,name,age) VALUES (null,'"&myMap.Get("Name")&"','"&myMap.Get("Age")&"')")
	Catch
		Log(LastException)
	End Try	
Next

 

 

@shahab.es

ممنون دوست عزیز . ولی من الان این مشکل دارم :

 

 

 من اطلاعاتی را از جیسون گرفتم و ریختم داخل یک مپ با این کدها :

Sub JobDone (Job As HttpJob)
	ProgressDialogHide
	Try
		Select Job.JobName
			Case "GetData"
		
				If Job.Success = True Then
					Dim sData As String
					Dim list1 As List
					list1.Initialize
					sData = myJob.GetString
					'		txtResult.Text = sData
		
					myJSON.Initialize(sData)
					list1=myJSON.NextArray
					Log(myJSON)
			
			
					For i=0 To list1.Size - 1
						Dim m1 As Map
						m1.Initialize
						m1=list1.Get(i)
						
						sqlupdate.ExecNonQuery("INSERT INTO tbl_show (id,name,url) Values ('"&m1.Get("id")&"','"&m1.Get("name")&"','"&m1.Get("url")&"')")

					
	
					Next

			
				End If
				
				End Select

حالا این ارور رو موقع ذخیره شدن داده ها در بانک می ده :

android.database.sqlite.SQLiteException: near "s": syntax error (code 1): , while compiling: INSERT INTO tbl_show (id,name,url) VALUES ('31','Marvel's Agents of S.H.I.E.L.D.','http://www.tvmaze.com/shows/31/marvels-agents-of-shield')

این هم بخاطر اینه که توی key مربوط به name کاراکتر ' وجود داره .

حالا لطفا کمکم کنید چجوری این مقادیر رو تو بانک ذخیره کنم بطوریکه به وجود این کاراکتر ' توی محتویاتم گیر نده

 

خیلی خیلی ممنون

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

از replace استفاده کنید

کوتیشن رو به عبارتی که مطمئنید توی داده هاتون نخواهد بود تغییر بدید

مثلا میگم

### هر وقت این 3 تا زو گذاشتید ینی یه سینگل کوتیشن

قبل از انجام عمل اینسرت، به این شکل کار کنید

dim str1 as string = m1.Get("name")
str1.replace("'","###")

و بعدا وقتی میخواین اطلاعات رو بخونید، عکس این کار رو انجام بدید

dim str as string = cur.getString("name")
str.replace("###","'")
	

 

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

سلام

lگر نمیدوید به چه شکل هست که این یک نمونه

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

Dim jp As JSONParser
jp.Initialize(job.GetString)
Dim myList As List
myList.Initialize
myList = jp.NextArray
For Each myMap As Map In myList
	Try
		sqlupdate.ExecNonQuery("INSERT INTO tbl1 (id,name,age) VALUES (null,'"&myMap.Get("Name")&"','"&myMap.Get("Age")&"')")
	Catch
		Log(LastException)
	End Try	
Next

 

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

بایگانی شده

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

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

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