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

اینسرت از id آخر از دیتابیس آنلاین به دیتابیس آفلاین


حسین شیخ بارانی

سوال

سلام دوستان

از کد زیر می خوام داده ها که از دیتابیس آنلاین می گیرم از آخر ارسال به دیتابیس آفلاین کنم اما نمی شود

 

sql.ExecNonQuery("INSERT INTO tbl_1 ORDER BY id DES (id,name,matn,zaman) VALUES (null,'"&str2(1)&"','"&str2(2)&"','"&str2(3)&"')")

 

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

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

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

ببینید

کاری که من توی اموزش براتون تدارک دیدم ، اینه که میاد و اطلاعات جدید رو میگیره

ینی شما رو کانت خودت رو میفرستی مثلا 5

میاد از ای دی 6 تا جایی که اضافه شده رو برای شما میگیره

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

نیازی نیست که کد php رو تغییر بدید و کار خاصی بکنید

همچنین، کوئری 

insert into tbl order by id desc(.....

رو نداریم ما، یا من ندیدم ، شما هر چیزی که توی دیتابیستون اضافه کنید ، میره بعد از اخرین سطر دیتابیس

اگر میخواین جور دیگه ای ببینید ، باید توی سلکتتون به حالت صعودی یا نزولی، کوئری بدید

در کل، کاری که میخواین انجام بدید، خود بخود داره انجام میشه هموطن

 

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

درود

دوست عزیز نوشتید DES  ؟؟؟

اصلا ما DES نداریم

ASC و DESC داریم !

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

بله توی تایپ اشتباه نوشتم ولی باز اینسرت صورت نمی گیره وقتی کد ORDER BY id DESC بعد از sql.ExecNonQuery("INSERT INTO tbl_1 بنویسم

 

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

کدتون درسته پس :fekr:

ببینید شما بیایید یه کاری کنید

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

 For i = 0 To cur.RowCount-1
  cur.Position=i
  lst.add(str2((str2.RowCount-1)-i))
 Next

الان توی همین لیست داده هارو به صورت معکوس اضافه کردید...

حالا به صورت معمولی INSERT رو از طریق lst انجام بدید ببینید به جواب میرسید ؟

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

ممنون از جواباتون آقای ایزدی

خب به این صورت که نتونستم اجازه بدید sub جاب دان بذارم اینجا

Sub showlist
	ListView1.clear
		cur = sql.ExecQuery("SELECT * FROM tbl_1")
	For i = 0 To cur.RowCount - 1
		cur.Position = i
		ListView1.AddSingleLine2(cur.GetString("name")&"-"&cur.GetString("matn")&"-"&cur.GetString("zaman"),cur.GetInt("id"))
	Next
	ListView1.SingleLineLayout.Label.Gravity = Gravity.CENTER
End Sub

Sub jobdone (job As HttpJob)
	If job.Success = True Then
		If job.JobName = "job1" Then
					cur = sql.ExecQuery("SELECT * FROM tbl_1")
					rowCount = cur.RowCount
					Activity.Tag=job.GetString
					Button1.Tag=rowCount
					s1 =Activity.Tag-Button1.Tag
					limit=s1
					If job.GetString > rowCount Then					
						cur = sql.ExecQuery("SELECT * FROM tbl_1")
						rowCount = cur.RowCount						
						ht2.PostString("http://www.salmanfa.ir/m1/getcontent.php","limit="& limit &"")				
					Else
						ToastMessageShow("پیام جدیدی وجود ندارد",False)
						ProgressDialogHide
					End If
					
		else if job.JobName = "job2" Then
					If job.GetString = "nothing" Then
						ToastMessageShow("error",False)
					Else 
						Dim str1() As String = Regex.Split("<br>",job.GetString)
						For i = 0 To str1.Length - 1
							Dim str2() As String = Regex.Split("#",str1(i))
							
							Try 
								'ORDER BY id DES 
								sql.ExecNonQuery("INSERT INTO tbl_1  (id,name,matn,zaman) VALUES (null,'"&str2(1)&"','"&str2(2)&"','"&str2(3)&"')")
								showlist
								
							Catch
								Log(LastException)
							End Try
						Next
					ProgressDialogHide
					End If
		End If
	End If
End Sub

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

lst.add(str2((str2.RowCount-1)-i))

لیست تعریف کردم ولی زیر کد زیر خط قرمز کشید

 

lst.add(str2((str2.RowCount-1)-i))

 

 

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

سلام

هدفتون الان چی هست شما؟

یه کارای عجیبی دارید میکنید

کوئری های خارجی میدید

میخواین اخرین چیزی که تو دیتابیس انلاین اضافه شده ، بیاد پایین دیتابیس افلاین؟

خوب خود به خود میاد دیگه

اموزش رو هم دوباره با دقت ببینید

 

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

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

سلام

هدفتون الان چی هست شما؟

یه کارای عجیبی دارید میکنید

کوئری های خارجی میدید

میخواین اخرین چیزی که تو دیتابیس انلاین اضافه شده ، بیاد پایین دیتابیس افلاین؟

خوب خود به خود میاد دیگه

اموزش رو هم دوباره با دقت ببینید

 

 

سلام آقای اسکندری ممنون از آموزش خوبی که  داده بودید

 

یکم تغیرات توی کد ها دادم اول که لیمت دادم به فایل php بعد توی بیسیک4 اومدم گفتم مقدار job.GetString از rowCount کسر بشه ومقدار باقی مونده رو به لیمیت دادم تا فقط ائن مقدار از داده ای که الان توی دیتابیس آفلاین ندارم بگیرم و مجبور نباشم اگه هر بار کل داده های قبلی دانلود کنم و از کد زیر استفاده کردم

Dim limit As Int =1
Dim s1 As Int =0

خب باید توی php ای دی ها رو برعکس بگیریم یا اینجور بگم برای کاری که من می کنم id ها باید از آخر  دریافت بشه و من کد ORDER BY id DESC به فایل php دادم و موقع دریافت همچی درسته بالاترین چیزی که نوشون می ده آخرین id من تو دیتابس آنلاین هست تا اینجا همچی درسته اما

موقع بروز کردن id جدید میره پاین خب اینجا فقط یک راه بنظرم رسید و اون اینه که آدی که جدید داریم بصورت برعکس وارد دیتابیس آفلاین کنیم و کد که اول سوال کردم یعنی   ORDER BY id DESC رو به اینسرتی که  دیتابیس آفلاین وارد می کنه اضافه کنم اما دیگه چیزی دانلود نمیشه البته من دیتابیس آفلاینم خالی هست و نباید هم چیزی توش باشه و ای دی توی خودش وجود نداره ممکنه هم به همین دلیل باشه که اصلا ای دی وجود نداره که ای دی جدید به آخر اضافه بشه در هر صورت این مشکل هسته که دیتای جدید میاد زیر قرار می گیره و اگه حل بشه مشکل لود دیتای اضافی کلا حل میشه

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

بله آقال اسکندری کاملا حق با شما بود من بجای قرار دادن ORDER BY id DESC در بیسیک  در php گذاشتم که مشکلات زیادی برام ایجاد کرده بود ممنون از شما و آقای ایزدی

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

بایگانی شده

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

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

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