PDA

View Full Version : سوال: مشکل با شناسایی فیلد فارسی SQL?



majidmir
دوشنبه 15 شهریور 1389, 10:41 صبح
سلام
یه پروسیجر دارم که نام فیلد ها رو به فارسی تغییر دادم و موقعی که توی دلفی فراخوانی می کنم دلفی نمی تونه شناسایی کنه و بهم اخطار میده که همچین فیلدی وجود نداره چکار کنم ؟

DataSource1.DataSet:=SPselectBA;
SPselectBA.Close;
SPselectBA.Parameters.ParamValues['@cod']:=txtcod1.Text;
SPselectBA.Open;
dbedit1.Text:=SPselectBA.fieldbyname('[کد مشتري]').AsString;
dbedit2.Text:=SPselectBA.fieldbyname('[کد بازاياب]').AsString;
txtdate.Text:=SPselectBA.fieldbyname('تاريخ') .AsString;
txttakhfif.Text:=SPselectBA.fieldbyname('تخفي ').asstring;
if (SPselectBA.fieldbyname('[نوع خريد]').asstring='1' )then
RadioButton3.Checked:=true
else if (SPselectBA.fieldbyname('[نوع خريد]').asstring='2' )then
RadioButton4.Checked:=true ;

این هم پروسیجر SQL

CREATE PROCEDURE B_K_‍‍SELECT_FACTOR
@cod as int
AS

select cod AS کد, radif AS ردیف, codbazaryab AS [کد بازاریاب], codmoshtari AS [کد مشتری], codkala AS [کد کالا], noaekharid AS [نوع خرید], takhfif AS تخفیف,
date1 AS تاریخ, tedad AS تعداد, price1 AS قیمت from kharidBazaryab
where cod=@cod
return 1
GO

این هم خطا

AmirSky
دوشنبه 15 شهریور 1389, 11:02 صبح
هیچ وقت نباید از کارکتر های فارسی برای نام فیلد ها استفاده کرد
این کار اشتباهه

K.Mohammadreza
دوشنبه 15 شهریور 1389, 13:28 عصر
عزیرم شما یک Alias به فیلدها اختصاص دادی، نام فیلدها را که تغییر ندادی باید همون نام انگلیسی فیلد را استفاده کنی ولی با اون کاری که کردی عنوان فیلد جهت نمایش در گراید فارسیه!!! فقط همین

soft-c
دوشنبه 15 شهریور 1389, 23:53 عصر
سلام
خوب چرا شما از فیلدهای انگلیسی استفاده نمی کنی؟
اگر هم داخل خود برنامه نیاز داری اسم فیلدها فارسی باشه مثل dbgrid ، می توانی title آن فیلد را به فارسی بنویسی.

majidmir
پنج شنبه 18 شهریور 1389, 13:49 عصر
سلام به همگی
در هر دو حالت چه نام فیلد رو فارسی بدم به لاتین خطا میده که همچین فیلدی وجود نداره ؟ بالای 40 بار تست کردم ؟

majidmir
پنج شنبه 18 شهریور 1389, 23:45 عصر
يه نكته
مشكل فقط با فيلد هايي هست كه دو تايي باشند مثل

SPselectBA.fieldbyname('[کد مشتري]').AsString;

ولي يه فيلدي مثل اين هيچ مشكلي نداره !

SPselectBA.fieldbyname('تاريخ').AsString;