PDA

View Full Version : حرفه ای: مشكل در تشخيص بعضي كاراكترها



s_mokhtari
یک شنبه 23 خرداد 1389, 18:36 عصر
با سلام:متفکر::متفکر::متفکر:
من اگه سايتم رو افراد مختلفي ثبت نام كنند و با صفحه كليدهاي مختلفي دارن تايپ ميكنن يعني حروف ي و ك صفحه كليدها فرق ميكنه چطوري تمام اين دو كاراكتر را به كاراكتر استاندار تبديل كنم با دستور replace كار نكردم
خيلي عجله دارم
با تشكر
يادم رفت اين كد رو پيدا كردم توي سايت ولي چطوري پارامتر Col , table رو استفاده كنم ميشه راهنماييم كنيد


USE TestDb;

DECLARE @Table NVARCHAR(MAX),
@Col NVARCHAR(MAX)

DECLARE Table_Cursor CURSOR
FOR
--پيدا كردن تمام فيلدهاي متني تمام جداول ديتابيس جاري
SELECT a.name, --table
b.name --col
FROM sysobjects a,
syscolumns b
WHERE a.id = b.id
AND a.xtype = 'u' --User table
AND (
b.xtype = 99 --ntext
OR b.xtype = 35 -- text
OR b.xtype = 231 --nvarchar
OR b.xtype = 167 --varchar
OR b.xtype = 175 --char
OR b.xtype = 239 --nchar
)

OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @Table,@Col
WHILE (@@FETCH_STATUS = 0)
BEGIN
EXEC (
'update [' + @Table + '] set [' + @Col +
']= REPLACE(REPLACE(CAST([' + @Col +
'] as nvarchar(max)) , NCHAR(1740), NCHAR(1610)),NCHAR(1705),NCHAR(1603)) '
)

FETCH NEXT FROM Table_Cursor INTO @Table,@Col
END CLOSE Table_Cursor DEALLOCATE Table_Cursor


:عصبانی++::عصبانی++:

s_mokhtari
دوشنبه 24 خرداد 1389, 07:50 صبح
با سلام:متفکر::متفکر::متفکر:
من اگه سايتم رو افراد مختلفي ثبت نام كنند و با صفحه كليدهاي مختلفي دارن تايپ ميكنن يعني حروف ي و ك صفحه كليدها فرق ميكنه چطوري تمام اين دو كاراكتر را به كاراكتر استاندار تبديل كنم با دستور replace كار نكردم
خيلي عجله دارم
با تشكر
يادم رفت اين كد رو پيدا كردم توي سايت ولي چطوري پارامتر Col , table رو استفاده كنم ميشه راهنماييم كنيد


USE TestDb;
DECLARE @TableNVARCHAR(MAX),
@Col NVARCHAR(MAX)
DECLARE Table_Cursor CURSOR
FOR
--پيدا كردن تمام فيلدهاي متني تمام جداول ديتابيس جاري
SELECT a.name, --table
b.name --col
FROM sysobjects a,
syscolumns b
WHERE a.id = b.id
AND a.xtype = 'u' --User table
AND (
b.xtype = 99 --ntext
OR b.xtype = 35 -- text
OR b.xtype = 231 --nvarchar
OR b.xtype = 167 --varchar
OR b.xtype = 175 --char
OR b.xtype = 239 --nchar
)
OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @Table,@Col
WHILE (@@FETCH_STATUS = 0)
BEGIN
EXEC (
'update [' + @Table + '] set [' + @Col +
']= REPLACE(REPLACE(CAST([' + @Col +
'] as nvarchar(max)) , NCHAR(1740), NCHAR(1610)),NCHAR(1705),NCHAR(1603)) '
)
FETCH NEXT FROM Table_Cursor INTO @Table,@Col
END CLOSE Table_Cursor DEALLOCATE Table_Cursor


:عصبانی++::عصبانی++:
سلام
كسي نيست منا براي مشكلم راهنمايي كن
:عصبانی::عصبانی::عصبانی: