الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حفظ نص عربي من الlistbox

مغلق
بدأه in2sol في 7 سبتمبر 2007 · 2 رد · 674 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

احاول حفظ اسامي باللغة العربية مجمعة في ListBox في SQL Database الا انها تحفظ بشكل علامات استفهام "؟؟؟؟؟؟؟"

وقد حاولت تغير لغة الترميز الى عدة اختيارات من Arabic (windwos) CodePage الى UniCode بجميع اشكلة

وحاولت ايضا حفظ القيمة في متغير من نوع String قبل توجيهها الى ال Database ولكن لا يوجد تجاوب

علما انه في نفس الصفحة يوجد TextBox ويتم حفظه بنفس الطريقة وكل شي ماشي معه تمام

السؤال هنا:

هل يمكن حفظ البيانت من الListBox الى SQLServer مباشرة باللغة العربية ام ان هناك طرق اخرى يجب علي اتباعها؟؟

وشكرا لكم مقدما

Success is the ability to go from one failure to the next without any loss of Enthusiasm

#2

يبدو لي انه ليس من الممكن ذلك لكن مالحل انا لدي صفحة فيها اثنين textbox (الاول لادخال سؤال و الثاني لادخال اجوبة السؤال) و listbox و اثنين buttons.

الbutton الاول يضيف من الtextbox الثاني الى ال listbox والbottun الثاني يضيف الى قاعدة البيانات قيمة الtextbox الاول في جدول ويرجع بالID ثم يضيف عن طريق for loop قيم ال listbox ..

.قيمة الTextBox الاول (السؤال) تخزن بشكل صحيح في جدول الاسئلة ..اما قيم الListbox فهي تخزن على شكل علامات استفهام, في محاولاتي قمت يتغير الترميز في الصفحة الى اكثر من شكل ولم افلح واخر محاولاتي كانت موحاولة حفظ القيم في Array ولكن للاسف لم تفلح هذة العملية ايضا :(

*اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا*

تم تعديل هذه المشاركة بواسطة in2sol في 9 سبتمبر 2007 في 09:32

Success is the ability to go from one failure to the next without any loss of Enthusiasm

#3

لقد وجدت الحل :)

<<<< يسال ويجيب :P

كنت في السابق اكتب ال SqlDatasource.insertCommand في داخل الكود كما في الشكل التالي:

foreach (ListItem itm in ListBox1.Items)
		{
			SqlDataSource1.InsertCommand = "INSERT INTO dbo.Answers(answerTextAr) VALUES ('"+ itm.Text +"' )";

		}

وكان الlistbox item يضاف كعلامة استفهام بينما الtext box يضاف عن طريق الwizerd

وبدا لي ان الاضافه عن طريق الwizerd تتم بشكل صحيح بينما الاضافة من الصفحة مباشرة لا تتم بالشكل الصحيح

ففكرت بطريقه لاستخدام الwizerd لإضافة اكثر من سجل فقمت داخل ال insertParameter بتعريف ControlParameter من نوع HiddenField كما بالشكل التالي:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Survey_ManageConnectionString %>" SelectCommand="SELECT * FROM [Answers]" InsertCommand="INSERT INTO dbo.Answers( answerTextAr) VALUES (@answerTextAr)">
			<InsertParameters>
				<asp:ControlParameter ControlID="HiddenField1" Type="String" PropertyName="Value" Name = "answerTextAr" />
			</InsertParameters>
		</asp:SqlDataSource>

و ب foreach Loop قمت بالاتي:

foreach (ListItem itm in ListBox1.Items)
		{

			HiddenField1.Value = itm.Text;
			SqlDataSource1.Insert();


		}

احمدك يارب واشكر فضلك

ارجو ان تعم الفائده بيننا وشكرا لكم

تم تعديل هذه المشاركة بواسطة in2sol في 9 سبتمبر 2007 في 13:58

Success is the ability to go from one failure to the next without any loss of Enthusiasm

هذا الموضوع مغلق.

مواضيع مشابهة