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

خطا در ثبت html در دیتابیس


arastooms

سوال

سلام به همه بزرگان انجمن 
من قصد دارم یک متن html رو در دیتابیس ذخیره کنم ولی به علت وجود علایم " > یا < یا " یا ..؟ یا /.." با خطا مواجه میشم 
فرض کنید این فایل رو در یک استرینگ ذخیره کردم 

اسم این استرینگ رو گذاشتم Result و برابر مقدار زیر قرار دادم


<!-- saved from url=(0034)http://teskusman.esy.es/index.html -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
		<title>Simple HTML Table Example | Andrias S.</title>
	</head>
	
	<body>
		<center>
			<h2>Example Table | List Of Fruits</h2>
		
			<table id="table" border="1">
				<thead>
					<tr bgcolor="FFFDC1">
						<th>No</th>
						<th>Item</th>
						<th>Qty</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td>1</td>
						<td>Papaya</td>
						<td>451</td>
					</tr>
					<tr>
						<td>2</td>
						<td>Durian</td>
						<td>126</td>
					</tr>
					<tr>
						<td>3</td>
						<td>Rambutan</td>
						<td>231</td>
					</tr>
					<tr>
						<td>4</td>
						<td>Apple</td>
						<td>511</td>
					</tr>
					<tr>
						<td>5</td>
						<td>Orange</td>
						<td>341</td>
					</tr>
					<tr>
						<td>6</td>
						<td>Salak</td>
						<td>239</td>
					</tr>
					<tr>
						<td>7</td>
						<td>Melon</td>
						<td>110</td>
					</tr>
					<tr>
						<td>8</td>
						<td>Banana</td>
						<td>56</td>
					</tr>
					<tr>
						<td>9</td>
						<td>Watermelon</td>
						<td>186</td>
					</tr>
					<tr>
						<td>10</td>
						<td>Klengkeng</td>
						<td>234</td>
					</tr>
				</tbody>
			</table>
			
			<p>End of Table</p>
		</center>
	

</body></html>

حالا در دیتابیس با این دستور میخام این رو ذخیره کنم در یک سلول دیتابیس در بیسیک

	sql.ExecNonQuery("UPDATE tbl1 SET html_code = "&Result&" WHERE id = "&verb_id)

 

این خطا مثلا میگه که علامت سوال رو نمیتونه وارد کنه در دستور sql  بالا و منطقی هم هست چون فرمان کویری با خطا مواجه میشه!!
 

 

image.png.e89bbc2481de0b61e6bf7b3ea062af9f.png

 

 

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

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

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

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

در 3 ساعت قبل، arastooms گفته است :

به نظر میرسه باید مقادیری رو که خطا میده با جایگزین کردن مقادیر استاندارد اصلاح کنم و بعد زمان تبدیل هم دوباره به مقادیر اولیه برگردونم
و یا اینکه کُد کنم و بعد دیکد کنم

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

این حا باید از متد زیر استفاده کنید. string هرچی که باشه خطا نمیده و بدون مشکل کوئری اجرا میشه

Dim html As String = "?html""'\/<>?@#$#\@%$^%&*&(80:"
'or Dim html As String = File.GetText(File.DirAssets,"1.html")

Dim id As Int = 2

SQL1.ExecNonQuery2("UPDATE tbl1 SET html_code = ? WHERE id = ? ", Array As Object(html, id))

 

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

سلام ارسطوجان؛

اصولا دیتابیس با وارد کردن مقادیر HTML به فیلدها مشکلی نداره و نمیتونه داشته باشه(دست خودش نیست:pardon:) مثلا اگه جداول پست های دیتابیس یک سایت وردپرسی رو ببینید متوجه میشید که کل نوشته به شکل html در دیتابیس ذخیره شده.

اما باید ساختار دیتابیس رو بررسی کنید(فیلد html_code که قصد وارد کردن مقادیر رو بهش دارید) ببینید محدودیت کاراکتر نداره؟ یا نوع فیلد یا...

و در ضمن در کدی که فرستادید مقابل html_code باید از کوتیشن هم استفاده کنید و بعد Result رو با کوئری ترکیب کنید(یهو دیدمش فکر میکنم مشکل از این باشه)

sql.ExecNonQuery("UPDATE tbl1 SET html_code = '"&Result&"' WHERE id = "&verb_id)

بعد از اون مقدار id که در کوئری میدید رو بررسی کنید که مقدار داره یا نه؟ درست هست یا نه؟

 

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

در 7 ساعت قبل، AMiN.M7892 گفته است :

سلام ارسطوجان؛

اصولا دیتابیس با وارد کردن مقادیر HTML به فیلدها مشکلی نداره و نمیتونه داشته باشه(دست خودش نیست:pardon:) مثلا اگه جداول پست های دیتابیس یک سایت وردپرسی رو ببینید متوجه میشید که کل نوشته به شکل html در دیتابیس ذخیره شده.

اما باید ساختار دیتابیس رو بررسی کنید(فیلد html_code که قصد وارد کردن مقادیر رو بهش دارید) ببینید محدودیت کاراکتر نداره؟ یا نوع فیلد یا...

و در ضمن در کدی که فرستادید مقابل html_code باید از کوتیشن هم استفاده کنید و بعد Result رو با کوئری ترکیب کنید(یهو دیدمش فکر میکنم مشکل از این باشه)


sql.ExecNonQuery("UPDATE tbl1 SET html_code = '"&Result&"' WHERE id = "&verb_id)

بعد از اون مقدار id که در کوئری میدید رو بررسی کنید که مقدار داره یا نه؟ درست هست یا نه؟

 

سلام  سپاس امین جان مشکل همینجا هست دیگه که خیلی عجیبه و نتونستم
در باره اشکال کد هم اون کوتیشن ها رو وقتی ادیت کردم یادم رفت تو موضوع سوال اصلاح کنم که البته مشکل برای اون ها نیست
متاسفانه به کاراکتر هایی مثل ؟ مشکل میخوره و درست هم هست دیگه 
شما ببینید اگر وسط کویری اینطوری بشه و یه علامت سوال بیاد خوب کویری خراب میشه

 

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

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

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

این حا باید از متد زیر استفاده کنید. string هرچی که باشه خطا نمیده و بدون مشکل کوئری اجرا میشه


Dim html As String = "?html""'\/<>?@#$#\@%$^%&*&(80:"
'or Dim html As String = File.GetText(File.DirAssets,"1.html")

Dim id As Int = 2

SQL1.ExecNonQuery2("UPDATE tbl1 SET html_code = ? WHERE id = ? ", Array As Object(html, id))

 

سلام ممنون از راهنمایی شما 
تست میکنم جواب رو منتقل میکنم اینجا

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

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

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

این حا باید از متد زیر استفاده کنید. string هرچی که باشه خطا نمیده و بدون مشکل کوئری اجرا میشه


Dim html As String = "?html""'\/<>?@#$#\@%$^%&*&(80:"
'or Dim html As String = File.GetText(File.DirAssets,"1.html")

Dim id As Int = 2

SQL1.ExecNonQuery2("UPDATE tbl1 SET html_code = ? WHERE id = ? ", Array As Object(html, id))

 

سلام سپاس از راهنمایی خوبتون 
کار بردی و دقیق ( کاملا درست اجرا میشه)
امید وارم همیشه موفق و پیروز باشید دوست عزیز
 

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

بایگانی شده

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

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

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