PDA

View Full Version : مشکل فونت فارسی با DataGridView



habibb
شنبه 08 تیر 1392, 22:03 عصر
با سلام


using System.Data.SqlClient;



SqlConnection con = new SqlConnection("Data Source = .\\SQLEXPRESS;AttachDbFilename=" + System.Environment.CurrentDirectory + "\\habib_db.mdf;Integrated Security = True;Connect Timeout = 30;User Instance = True;");

برای این که داده های TextBox هام رو بریزم توی دیتابیسم
و مقادیرم به شکل علامت سوال نشه توی دیتابیسم
مجبورم قبل هر TextBox.Text ای یک کاراکتر N بزرگ بگذارم .
چکار کنم این جوری عاجز میشم .:افسرده:


SqlCommand com = new SqlCommand("update customer_tb set name=N'"+txt_edit_name_cu.Text+"',lname=N'"+txt_edit_lname_cu.Text+"',mobile=N'"+txt_edit_mob_cu.Text+"',name_product=N'"+combox_edit_pro_cu.Text+"',model=N'"+txt_edit_model_cu.Text+"',tedad=N'"+txt_edit_tedad_cu.Text+"',ghimat=N'"+txt_edit_ghimat_cu.Text+"'where ID='"+txt_id.Text+"'",con);

با تشکر

saeedgholami
شنبه 08 تیر 1392, 23:52 عصر
سلام دوست عزیز

اینکه میگی به صورت علامت سوال نشون میده فک کنم مشکلت از collation هست مطمئنی که این گزینه رو به درستی رو فارسی تنظیم کردی؟؟

habibb
یک شنبه 09 تیر 1392, 00:07 صبح
سلام دوست عزیز

اینکه میگی به صورت علامت سوال نشون میده فک کنم مشکلت از collation هست مطمئنی که این گزینه رو به درستی رو فارسی تنظیم کردی؟؟

ار sqlclient دارم استفاده می کنم نه خود SQl . یعنی همون sql خود ویژوال استادیو .همون SQL EXPRESS مجازی!

erfan_urchin
یک شنبه 09 تیر 1392, 00:19 صبح
خب دوست عزیز همینه دیگه
باید قبل هر تکست باکس N بزاری تا فارسی درج بشه توی دیتابیس و گرنه علامت سوال درج میشه
هیچ راهی هم نداره

سلام دوست عزیز
اینکه میگی به صورت علامت سوال نشون میده فک کنم مشکلت از collation هست مطمئنی که این گزینه رو به درستی رو فارسی تنظیم کردی؟
سعید جان اگه توی دیتابیس، متن فارسی درج کرده بودن بعد به هنگام select اطلاعات به صورت علامت سوال نمایش داده میشد اونوقت حرف شما درست بود و میتونستیم بگیم collation مشکل داره
ولی برای درج متون فارسی حتما باید N قبل متن فارسیمون بزاریم تا بصورت علامت سوال درج نشه

habibb
یک شنبه 09 تیر 1392, 00:30 صبح
نمیشه ی جوری تو دستور connectionString ی همچین چیزی نوشت؟charset=UTF8:گیج:

khokhan
یک شنبه 09 تیر 1392, 00:30 صبح
ار sqlclient دارم استفاده می کنم نه خود SQl . یعنی همون sql خود ویژوال استادیو .همون SQL EXPRESS مجازی!
هنگام وارد کردن اطلاعات وبه روز رسانی بهتره از پارامترها استفاده کنید

در این حال مشکل علامت سوال هم حل می شه

مانند این


SqlConnection sqlConn = new SqlConnection(connection string here);
SqlCommand sqlComm = new SqlCommand();
sqlComm = sqlConn.CreateCommand();
sqlComm.CommandText = @"UPDATE tableName SET paramColumn='@paramName' WHERE conditionColumn='@conditionName'";
sqlComm.Parameters.Add("@paramName", SqlDbType.NVarChar);
sqlComm.Parameters["@paramName"].Value = textBox1.Text;
sqlComm.Parameters.Add("@conditionName", SqlDbType.NVarChar);
sqlComm.Parameters["@conditionName"].Value = textBox2.Text;
sqlConn.Open();
sqlComm.ExecuteNonQuery();
sqlConn.Close();

samad1987
یک شنبه 09 تیر 1392, 00:39 صبح
من که میگم خیلی ساده تر فکر کنید
فکر کنم نوع داده هارو nvarchar انتخاب نکردی !!

erfan_urchin
یک شنبه 09 تیر 1392, 04:01 صبح
نمیشه ی جوری تو دستور connectionString ی همچین چیزی نوشت؟charset=UTF8:گیج:

یعنی چندتا N زدن انقدر سخته؟؟؟!!!!

habibb
یک شنبه 09 تیر 1392, 11:09 صبح
یعنی چندتا N زدن انقدر سخته؟؟؟!!!!
نه . هدف پیدا کردن یک روش حرفه ایست :لبخند:

habibb
یک شنبه 09 تیر 1392, 13:55 عصر
من که میگم خیلی ساده تر فکر کنید
فکر کنم نوع داده هارو nvarchar انتخاب نکردی !!
نه . برعکس نوع همه ی داده هام nvarchar هست .:لبخندساده:

saeedgholami
یک شنبه 09 تیر 1392, 15:03 عصر
ببخشید من فک کردم موقع درج متن فارسی این مشکل پیش میاد استاد عزیز