PDA

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



meysampaknahad
سه شنبه 19 آبان 1388, 13:51 عصر
سلام
من از Stored Procedure زیر برای وارد کردن اطلاعات در جدول پایگاه داده استفاده می کنم. که به صورت Dynamic_SQL هستش.


@table nvarchar(50),
@onvan nvarchar(200),
@kholase nvarchar(1000),
@matneasli nvarchar(max),
@datetime nvarchar(200),
@Image nvarchar(300)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

-- Insert statements for procedure here
DECLARE @command nvarchar(Max)
SET @command =
'INSERT INTO ' + @table +
' (onvan , kholase , matneasli , datetime , image)' +
' VALUES(' +'''' + @onvan + '''' + ' , ' + '''' + @kholase +'''' + ' , ' + '''' + @matneasli +'''' + ' , '+ '''' + @datetime +'''' + ' , ' + '''' + @Image +'''' + ')'
EXEC (@command)
END

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

بهنام بهمنی
سه شنبه 19 آبان 1388, 16:31 عصر
جنس فيلدي که در آن مي خواهيد مقدار فارسي ذخيره کنيد, چيست؟

ali.akhbary
چهارشنبه 20 آبان 1388, 18:58 عصر
جنس فيلدي که در آن مي خواهيد مقدار فارسي ذخيره کنيد, چيست؟

اگه Colation را موقع نصب Arabic گذاشته باشه. كه حتما همين طوره. پس به نظر من ربطي به نوع فيلد نمي تونه داشته باشه.
چون حتي اگه جنس فيلدش varchar هم باشه، فارسي رو ساپورت ميكنه.

ali.akhbary
چهارشنبه 20 آبان 1388, 19:03 عصر
احتمالا اگه يه حرف N قبل هر پارامتر استفاده كني احتمالا درست بشه!
من يه بار اين مشكل رو داشتم. اينطوري درست شد.


INSERT INTO tbl_Group
(Title)
VALUES (N'MyValue')

meysampaknahad
چهارشنبه 20 آبان 1388, 23:50 عصر
جنس فیلدهای استفاده شده همگی از نوع Nvarchar هستند

ali.akhbary
پنج شنبه 21 آبان 1388, 14:12 عصر
جنس فیلدهای استفاده شده همگی از نوع Nvarchar هستند

N رو اضافه كردي؟؟

meysampaknahad
پنج شنبه 21 آبان 1388, 23:05 عصر
بله دوست عزیز N رو اضافه کردم و درست شد.
فکر می کردم چون نوع فیلدها Nvarchar دیگه نیازی نیست از N استفاده کنم.
به هر حال مشکلم حل شد.
ممنون از راهنمایی تون

mohammad h
یک شنبه 13 تیر 1389, 13:15 عصر
N رو اضافه كردي؟؟

دوست عزیز
من N رو کجا باید اضافه کنم؟؟؟؟
قبل از @ اضافه کردم ERROR داد
VALUES(N@fname,N@lname