PDA

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



mehrdad196
شنبه 10 آذر 1386, 14:03 عصر
با سلام .
من وقتی در کد برنامه یک مقدار فارسی را در sqlserver2000 درج می کنم , این مقدار بصورت علامت سوال(؟) ذخیره می شود. چکار باید کرد.
لازم به ذکر است من Delphi 7 کار می کنم و این مشکل از دیتابیس نیست و احتمالاً یک تنظیم در دلفی رعایت نشده چون با #C وASP.NET و یا حتی در درج دستی اطلاعات در پایگاه داده این مشکل را ندارم.
با تشکر

SYNDROME
شنبه 10 آذر 1386, 15:05 عصر
با سلام .
من وقتی در کد برنامه یک مقدار فارسی را در sqlserver2000 درج می کنم , این مقدار بصورت علامت سوال(؟) ذخیره می شود. چکار باید کرد.

1-Collation Name پایگاه داده های شما چطور تنطیم شده است؟
2-کدی را که برای درج اطلاعات را در بانک و ابزار مورد استفاده را در اینجا قرار بدهید.
موفق باشید

mehrdad196
شنبه 10 آذر 1386, 17:24 عصر
با سلام
موقع ایجاد پایگاه داده مقدارcollation name را (server default) قرار می دهم
و پس از استفاده این مقدار خالی است . البته Sql_Latin1_General_CP1_Cl_AS نیز قرار دادم ولی جواب نگرفتم.
و اما کد : در اتصال به پایگاه از ADOConnection استفاده نمودم

var
s:String;
begin
s:= 'insert into Users (name) values ('علی')';
ADOQuery1.SQL.Text:=s;
ADOQuery1.ExecSQL;
end;

behzad_information
شنبه 10 آذر 1386, 18:44 عصر
چک کنید ببینید نوع فیلد شما باید nvarchar باشد

mehrdad196
شنبه 10 آذر 1386, 19:13 عصر
نوع فیلد هم nvarchar است.با ntext هم همین مشکل وجود دارد.
همانطور که گفتم با دیگر زبانها این مشکل وجود ندارد ولی با دلفی7 جواب نمی دهد. جالب اینکه دلفی 8 هم امتحان کردم و باز هم مشکل وجود دارد.

sasan_vm
شنبه 10 آذر 1386, 19:42 عصر
سلام

از این کد استفاده کن:


insert into Users (name) values (N'علی')

mehrdad196
شنبه 10 آذر 1386, 20:33 عصر
سلام

از این کد استفاده کن:


insert into Users (name) values (N'علی')

با تشکر از همه دوستان مشکل حل شد