نمایش نتایج 1 تا 20 از 20

نام تاپیک: مشکل در ورود اطلاعات فارسی به جدول

  1. #1
    کاربر دائمی آواتار mahtab_18
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مشهد
    پست
    114

    مشکل در ورود اطلاعات فارسی به جدول

    سلام

    من یه فرم طراحی کردم که توی اون رکورد جدیدی به جدول اضافه می کند . ولی مشکلی که هست اینه که اگر اطلاعات فارسی باشد ، به صورت علامت سوال در جدول نشان داده می شود. در حالی که اگر مستقیم به جدول در sql اطلاعات فارسی اضافه کنم این مشکل پیش نمی آید.

    کسی هست که بدونه چگونه می تونم این مشکل را برطرف کنم ؟

  2. #2
    زبان Default Form رو به فارسی تغییر بده و بعد INSERT کن ...
    کدی که برای فارسی کردن فرم نیاز داری


    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(System.Globalization.CultureInfo.CreateSpecificCulture("fa-IR"));


    امیدوارم که مشکلت حل بشه

  3. #3
    کاربر دائمی آواتار mahtab_18
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مشهد
    پست
    114
    خیلی ممنون از راهنماییتون . ولی مشکل من حل نشد.

  4. #4
    اگه برات امکان داره code فرمی رو که توش ایک مشکل برات پیش میاد رو بذار توی سایت !!

    این مشکل رو توی تمام برنامه هات داری یا اینکه فقط توی یک فرم خاص هستش ؟!؟!

  5. #5
    فیلدهای داده ای در SQL رو که میخواهید در اون فارسی ذخیره کنید از نوع nvarchar بگیرید.

    موفق باشید.

  6. #6
    در ضمن فراموش نکنید که برای Insert در Database از این شیوه استفاده کنید:
    ]Insert Into myTable Values N'آزمایش'


    موفق باشید.

  7. #7
    در ضمن فراموش نکنید که برای Insert در Database از این شیوه استفاده کنید:
    ]Insert Into myTable Values N'آزمایش'


    موفق باشید.

  8. #8
    کاربر دائمی آواتار mahtab_18
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مشهد
    پست
    114
    خیلی ممنون از توجهتون .
    این هم از کد که خواسته بودین


    SqlCommand com = newSqlCommand();
    SqlConnection con = newSqlConnection("Data Source=WE\\SQLEXPRESS;Initial Catalog=amlak;Integrated Security=True");
    con.Open();
    com.Connection = con;
    com.CommandText =
    "INSERT INTO USER_PASS(name,pass,namekh,famil,secu)VALUES('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox4.Text + "','" + textBox5.Text + "'," + y + ")";
    com.ExecuteNonQuery();


    من یه دستور insert دیگه هم دارم که یکی از فیلد های جدولم ورودی خودش را از یک ComboBox می گیرد و بقیه از textbox جالب این جاست که اطلاعات فارسی ComboBox بدرستی درون جدول sql ذخیره می شود ، ولی اطلاعات فارسی textbox همه بصورت علامت سوال ؟؟؟؟؟ ذخیره می شوند.

  9. #9

    com.CommandText = "INSERT INTO USER_PASS(name,pass,namekh,famil,secu)VALUES('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox4.Text + "','" + textBox5.Text + "'," + y + ")";


    اول از همه یک پیشنهاد
    من اگه جای شما بودم ، دستور بالا رو به شکل زیر می نوشتم


    com.CommandText = string.Format("INSERT INTO USER_PASS(name,pass,namekh,famil,secu)VALUES('{0}' ,'{1}','{2}','{3}',{4})",textBox1.Text,textBox2.Text,textBox4.Text,textBox 5.Text,y);


    نوع متغیرهای دیتابیس رو چی انتخاب کردید !؟!؟

  10. #10
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    اگه از Stored Procedure استفاده کنی هم این مشکلت حل میشه و هم سرعت بالاتری داره.

  11. #11
    نقل قول نوشته شده توسط bpzone مشاهده تاپیک
    زبان Default Form رو به فارسی تغییر بده و بعد INSERT کن ...
    کدی که برای فارسی کردن فرم نیاز داری


    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(System.Globalization.CultureInfo.CreateSpecificCulture("fa-IR"));
    امیدوارم که مشکلت حل بشه
    این کد صفحه کلید را برای فرم یا هر چیز دیگه فارسی می کنه نه بانک اطلاعاتی را.

  12. #12
    سلام اگه کدها را به این شکل تغییر دهید حتما درست می شود:

    com.CommandText = string.Format("INSERT INTO USER_PASS(name,pass,namekh,famil,secu) VALUES (N'{0}',N'{1}',N'{2}',N'{3}',{4})", textBox1.Text,textBox2.Text,textBox4.Text,textBox5 .Text,y);

  13. #13
    کاربر دائمی آواتار mahtab_18
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مشهد
    پست
    114
    متغیر های من از نوع nvarchar(50) هستند . در ضمن من طریقه استفاده از stored procedure را بلد نیستم .

    یعنی هیچکس تا حالا به این مشکل بر نخورده ؟؟؟؟؟؟؟؟؟؟؟؟/

  14. #14
    کاربر دائمی آواتار mahtab_18
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مشهد
    پست
    114
    سلام اگه کدها را به این شکل تغییر دهید حتما درست می شود:

    com.CommandText = string.Format("INSERT INTO USER_PASS(name,pass,namekh,famil,secu) VALUES (N'{0}',N'{1}',N'{2}',N'{3}',{4})", textBox1.Text,textBox2.Text,textBox4.Text,textBox5 .Text,y);
    با سلام و تشکر به خاطر جوابی که دادین
    مشکل من با استفاده از این کد حل شد ولی متوجه نشدم چرا دستوری که خودم نوشتم ایراد داشت . چون من تمام برنامه های قبلی ام را با استفاده از این دستور می نوشتم و هیچ ایرادی هم نداشتند.

  15. #15
    کاربر دائمی آواتار mahtab_18
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مشهد
    پست
    114
    اگه میشه بگین چه تغییری باید در این ایجاد شود


    com.CommandText = "INSERT INTO sabtmelk(malek,telm,mobilem,addmelk)" +
    "VALUES(@malek,@telm,@mobilem,@addmelk)";
    com.Parameters.Add("@malek", SqlDbType.NVarChar, 50).Value = t3.Text;
    com.Parameters.Add("@telm", SqlDbType.NVarChar, 50).Value = t5.Text;
    com.Parameters.Add("@mobilem", SqlDbType.NVarChar, 50).Value = t6.Text;
    com.Parameters.Add("@addmelk", SqlDbType.NVarChar, 50).Value = t7.Text;


    با تشکر فراوان

  16. #16
    کاربر دائمی آواتار mahtab_18
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مشهد
    پست
    114
    اگه کسی می دونه در کد پست قبلی چه تغییری باید ایجاد کنم لطفا بگه ؟
    پروژه من به خاطر این موضوع به مشکلات زیادی برخورده

  17. #17

  18. #18
    نقل قول نوشته شده توسط bermooda مشاهده تاپیک
    شدیدا پیشنهاد میکنم از Stored Procedure استفاده کنید!


    کافیه از Designer فایل XSD تون استفاده کنید.
    این روشی که میگی رو میشه یه کم توضیح بدی ؟؟؟

  19. #19
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604
    وقتی که یه database رو بعنوان datasource تو برنامتون انتخاب میکنید یه فایل با پسوند xsd به solution شما اضافه میشه. رو اون right-click کنین و view designer رو انتخاب کنید.
    یه جول نشون میده که ستون های database و نیز توابعی رو که برای اون هستن رو نشون میده.
    واسه اضافه کردن یه stored procedure کافیه رو اون جدول right-click کنین و Add query رو انتخاب کنین. یه wizard ظاهر میشه که با دنبال کردن مراحلش میتونین به سادگی یه stored procedure به database اضافه کنید
    موفق باشید

  20. #20

    نقل قول: مشکل در ورود اطلاعات فارسی به جدول

    نقل قول نوشته شده توسط mahtab_18 مشاهده تاپیک
    سلام

    من یه فرم طراحی کردم که توی اون رکورد جدیدی به جدول اضافه می کند . ولی مشکلی که هست اینه که اگر اطلاعات فارسی باشد ، به صورت علامت سوال در جدول نشان داده می شود. در حالی که اگر مستقیم به جدول در sql اطلاعات فارسی اضافه کنم این مشکل پیش نمی آید.

    کسی هست که بدونه چگونه می تونم این مشکل را برطرف کنم ؟
    شما زمانی که داری توی sql دیتابیس رو میسازی ، به قسمت option برو و اونجا خاصیت collation رو arabic انتخاب کن.
    مشکل علامت سوالی شدن حروف فارسی حل میشه ...

    ( با توجه به تاریخ سوال شما، جواب رو برای بعدی هایی که با گوگل اینجا میان نوشتم )

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •