PDA

View Full Version : سوال: مشکل در درج شدن علامت سوال به جای حروف فارسی در DB



jalal_k
شنبه 27 آبان 1391, 21:48 عصر
سلام دوستان، توی دیتابیس من به جای حروف فارسی علاف سوال درج می شه، مشکل از کجاست؟ ویندوزم کاملا فارسیش نصب شده. روی فرم ها یه راحتی فارسی می شه نوشت ولی ....؟
ممنون می شم راهنمایی کنید!!


{
string s = "Data Source=.\\SQLEXPRESS;AttachDbFilename=\"C:\\Documents and Settings\\Administrator\\My Documents\\Visual Studio 2010\\Projects\\MobileShop\\MobileShop\\bin\\Debug \\MobileShopDB.mdf\";Integrated Security=True;Connect Timeout=30;User Instance=True";
SqlConnection con = new SqlConnection();
con.ConnectionString = s;
string radio;
if (radioButton1.Checked == true) radio = radioButton1.Text; else radio = radioButton2.Text;
string logcom = @"INSERT INTO KharidForGush (KharidForGush,Mark,Model,IMEI,Color,Price,name,Fa mily,Shenasnameh,FaName) VALUES ('" + radio + "'" + "," + "'" + textBox1.Text + "'" + "," + "'" + textBox2.Text + "'" + "," + "'" + textBox3.Text + "'" + "," + "'" + textBox4.Text + "'" + "," + "'" + textBox5.Text + "'" + "," + "'" + textBox6.Text + "'" + "," + "'" + textBox7.Text + "'" + "," + "'" + textBox8.Text + "'" + "," + "'" + textBox9.Text + "'" + ")";
SqlCommand com = new SqlCommand(logcom, con);
con.Open();
com.ExecuteNonQuery();
MessageBox.Show("اطلاعات با موفقیت ثبت شد");
con.Close();
}

samadblaj
شنبه 27 آبان 1391, 21:52 عصر
سلام فیلد های دیتابیس رو از نوع n انتخاب کن.
nVarchar ...

jalal_k
شنبه 27 آبان 1391, 21:57 عصر
همین را انتخاب می کنم عزیز، ولی بی فایدست؟

morteza271
شنبه 27 آبان 1391, 22:00 عصر
در sql server بر روی نام دیتابیس خود راست کلیک کنید و propertice را کلیک کنید.
در پنجره باز شده در سمت چپ گزینه Options رو انتخاب کنید.
در قسمت سمت راست از داخل کامبوباکس Collection گزینه Arabic_CI_AS را انتخاب کنید و سپس بر روی کلید ok کلیک کنید.
موفق باشید

RIG000
شنبه 27 آبان 1391, 22:08 عصر
سلام فیلد های دیتابیس رو از نوع n انتخاب کن.
nVarchar ...
این گفته دوستمونو انجام بده و سپس برا ی هر کدوم از فیلد هایی که نوعش nvarchr هست باید کدت رو به این شکل تغییر بدی

insert into myphone (fname, lname) values (N’”+TextBox1.Text+”‘, N’”+TextBox2.Text+”‘)
n برای فیلد هایی که نوعشون nvarchr هست

jalal_k
شنبه 27 آبان 1391, 22:20 عصر
داداش، وقتی کلیک راست می کنم، پنجره properties سمت راست باز می شه ولی هیچ پنجره ای که شامل option باشه نداره. visual studio 2010 استفاده می کنم.

jalal_k
شنبه 27 آبان 1391, 22:27 عصر
این گفته دوستمونو انجام بده و سپس برا ی هر کدوم از فیلد هایی که نوعش nvarchr هست باید کدت رو به این شکل تغییر بدی

insert into myphone (fname, lname) values (N’”+TextBox1.Text+”‘, N’”+TextBox2.Text+”‘)
n برای فیلد هایی که نوعشون nvarchr هست
امکانش هست کدتون را بیرون از این کادر بنویسید؟ من تفاوت " و ' را نمی احساسم؟ متشکر

morteza271
شنبه 27 آبان 1391, 22:34 عصر
در sql server بر روی نام دیتابیس خود راست کلیک کنید و propertice را کلیک کنید.
شرمنده دقت نکردم که شما نسخه اکسپرس sql استفاده می کنید و فکر کردم از sql server استفاده می کنید به همین خاطر گفتم در sql server نه در VS ...
فکر کنم با روشی که دوستمون RIG000 گفتن مشکلتون حل بشه.
موفق باشید

RIG000
شنبه 27 آبان 1391, 22:36 عصر
اشتباه شد! منم دقت نکردم دقیقا"!!!!

string s = "insert into myphone (fname, lname) values (N'"+TextBox1.Text+"', N'"+TextBox2.Text+"')";

m0hammad_01
شنبه 27 آبان 1391, 23:06 عصر
در sql server بر روی نام دیتابیس خود راست کلیک کنید و propertice را کلیک کنید.
در پنجره باز شده در سمت چپ گزینه Options رو انتخاب کنید.
در قسمت سمت راست از داخل کامبوباکس Collection گزینه Arabic_CI_AS را انتخاب کنید و سپس بر روی کلید ok کلیک کنید.
موفق باشید
این کاری که دوستمون گفتن رو انجام بده.بعدش اگه Data Type فیلدتون رو nvarchar یا varchar در نظر بگیرید هیچ مشکلی با حروف نخواهی داشت.

jalal_k
شنبه 27 آبان 1391, 23:15 عصر
آقایون ممنون از کمکاتون، با همون n کارم راه افتاد. ولی قبلا با nvarchar جواب می گرفتم و این n اضافه را احتیاج نداشتم. ممنون از همتون مخصوصا دوست عزیز RIG000 (http://barnamenevis.org/member.php?142362-RIG000)

Rezakakaei
یک شنبه 07 اردیبهشت 1393, 23:59 عصر
سلام و خسته نباشید


منم همین مشکل را داشتم با N حل شد ولی یک سوالی قبلا این طوری نبود من ویندوز عوض کردم این جوری شده احتیاج به N داره به نظرتون مشکل دقیقا از چی میشه ؟

sibooy
چهارشنبه 26 آبان 1395, 23:31 عصر
این گفته دوستمونو انجام بده و سپس برا ی هر کدوم از فیلد هایی که نوعش nvarchr هست باید کدت رو به این شکل تغییر بدی

insert into myphone (fname, lname) values (N’”+TextBox1.Text+”‘, N’”+TextBox2.Text+”‘)
n برای فیلد هایی که نوعشون nvarchr هست
سلام
یعنی انقدر ازتون سپاسگزارم که خدا می دونه. نزدیک به ده روزه که هی دارم sql عوض می کنم و ویژوال و انقدر که هی این میگه من با این ورژن کار نمی کنم من با اون ورژن کار نمی کنم.
خلاصه انقدر بدبختی کشیدم امیدوارم همینطور که من رو از این مخمصه نجات دادین خدا هم گره های زندگی تون رو باز کنه.

sibooy
چهارشنبه 26 آبان 1395, 23:44 عصر
در sql server بر روی نام دیتابیس خود راست کلیک کنید و propertice را کلیک کنید.
در پنجره باز شده در سمت چپ گزینه Options رو انتخاب کنید.
در قسمت سمت راست از داخل کامبوباکس Collection گزینه Arabic_CI_AS را انتخاب کنید و سپس بر روی کلید ok کلیک کنید.
موفق باشید
با persian 100 هم خوب کار می کنه
از راهنمایی تون بی نهایت سپاسگزارم.