–1 امتیاز
با سلام

من یک بانک دارم که از نوع Nvarchar تعریفش کردم ولی وقتی مقدار فارسی در آون قرار میدم بصورت علامت سوال میشه

2 پاسخ

0 امتیاز

سلام
شما باید ید موقع ساختن دیتابیس گزینه collation name را با مقدارArabic_BINست کنید یا از فرمان sql زیر برای ویرایش دیتابیس ساخته شده استفاده کنید

ALTER DATABASE [اسم جدول]
COLLATE Arabic_BIN

اینو هم تست کنید که در زمان ساخت بانك اونجايي كه اسم بانكو تعيين ميكنيد پايين صفحه از قسمت collation name گزينه ي arabic_ci_ai رو انتخاب كنيد.

خطا میده در حالی که با select دیتا بیس رو آزمایش میکنم درست کار میکنه

اما در این دستور  Table مورد نظر رو خطا میگره

ALTER DATABASE info
COLLATE Arabic_BIN

این هم خطاش

Msg 911, Level 16, State 1, Line 1
Database 'info' does not exist. Make sure that the name is entered correctly.

 

توسط (140 امتیاز) 1
دوستمون به اشتباه به جای اسم پایگاه داده نوشتن ، اسم جدول. اگر دیتابیسی با همون نام info داشته باشید . کد به درستی اجرا میشه
توسط (6,145 امتیاز) 5 11 116
0 امتیاز

طبق تصویر رو دیتابیس کلیک راست کن بعد Options  وبعد collation  رو فارسی کن.

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

این شیوه ثبت اشتباهه. باید بصورت پارامتری استفاده کنی هم مدیریتش و هم خطایابیش راحت تره و هم مشکلات اینچنینی نداری.

SqlCommand com = new SqlCommand();
            string query = "insert into info(name,lname,mcode,phn) values (@txt1,@txt2,@txt3,@txt4)";
            com.Parameters.AddWithValue("@txt1", textBox1.Text.Trim());
            com.Parameters.AddWithValue("@txt2", textBox2.Text.Trim());
            com.Parameters.AddWithValue("@txt3", textBox3.Text.Trim());
            com.Parameters.AddWithValue("@txt4", textBox4.Text.Trim());

 

توسط (908 امتیاز) 1
ولی من الان مشکلم علامت سوال شدنه

الان این کار رو کنم حله؟
توسط (140 امتیاز) 1
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,919 کاربر

دسته بندی ها

...