PDA

View Full Version : فوری : مشکل با Stored Procedueres هنگام insert کردن



ali2006sr
چهارشنبه 27 مهر 1390, 21:53 عصر
سلام دوستان عزیز ، یه مشکل عجیب دارم اونم اینه که توی SQL Server که داده ها رو از توی برنامه با کلاس بوسیله Stored Procedures اضافه میکنم حرف "ی" رو جستجو نمیکنه ولی وقتی با کد Sql از داخل برنامه بصورت Command ارسال میکنم و با Insert Into اضافه میکنم همچین مشکلی ندارم ، لطفا کمک کنید این مشکل رو حل کنم .

wolf_majid
چهارشنبه 27 مهر 1390, 22:02 عصر
لطف کن کدت رو بگذار تا ببینیم

ali2006sr
چهارشنبه 27 مهر 1390, 22:08 عصر
این کد Stored Procedueres من


USE [MATAB]
GO
/****** Object: StoredProcedure [dbo].[sp_TBL_Cost_Insert] Script Date: 10/19/2011 22:12:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- ================================================== ========================================
-- Entity Name: sp_TBL_Cost_Insert
-- Author: Ali
-- Create date: 09/25/2011 09:37:42 ق.ظ
-- Description: This stored procedure is intended for inserting values to TBL_Cost table
-- ================================================== ========================================
ALTER Procedure [dbo].[sp_TBL_Cost_Insert]
@ID int,
@Cost nvarchar(50) = NULL
As
Begin
Insert Into TBL_Cost
([ID],[Cost])
Values
(@ID,@Cost)

End



اینم کد Class من


DataLayer.TBL_Cost.InsertRow(Convert.ToInt32(TxtId .Text), TxtSharh.Text);

wolf_majid
چهارشنبه 27 مهر 1390, 22:35 عصر
این که به نظر مشکلی نداره

--create Procedure sp_TBL_Cost_Insert
-- @ID int,
-- @Cost nvarchar(50) = NULL
--As
--Begin
-- Insert Into TBL_Cost
-- ([ID],[Cost])
-- Values
-- (@ID,@Cost)

--End

--exec sp_TBL_Cost_Insert '10','می یایم'
--exec sp_TBL_Cost_Insert '11','یییییی'
Select * from TBL_Cost where Cost like '%ی%'

احتمالا" مشکل از کلاسته

ali2006sr
پنج شنبه 28 مهر 1390, 10:56 صبح
اینم کلاسی که من تو برنامه ام استفاده میکنم ، دوستان عزیز بیبینید میتونید بهم کمک کنید

Z_Bagheri
پنج شنبه 28 مهر 1390, 11:10 صبح
این اصلا ربطی به کد و یا اس پی که نوشتید نداره
شما باید یک تابع بنویسید که حروف ی و ک رو فیکس کنه
برای این کار شما قطعا فیلد ها رو به صورت پارامتر می فرستید
قبل از ارسال پارامترها رو به یه تابع بفرستید که ی و ک رو فیکس کنه به این صورت:

text = text.Replace("\u0643", "\u06A9"); // ک

text = text.Replace("\u0649", "\u06CC"); // ی

text = text.Replace("\u064A", "\u06CC"); // ی

text = text.Replace("\u06C0", "\u0647\u0654"); // هٔ

ali2006sr
پنج شنبه 28 مهر 1390, 12:40 عصر
این اصلا ربطی به کد و یا اس پی که نوشتید نداره
شما باید یک تابع بنویسید که حروف ی و ک رو فیکس کنه
برای این کار شما قطعا فیلد ها رو به صورت پارامتر می فرستید
قبل از ارسال پارامترها رو به یه تابع بفرستید که ی و ک رو فیکس کنه به این صورت:

text = text.Replace("\u0643", "\u06A9"); // ک

text = text.Replace("\u0649", "\u06CC"); // ی

text = text.Replace("\u064A", "\u06CC"); // ی

text = text.Replace("\u06C0", "\u0647\u0654"); // هٔ


دوست عزیز تشکر از اینکه وقت گذاشتید و جواب دادید ولی باز هم درست نشد ، اگر ممکنه کلاسی رو که گذاشتمو برام اصلاح کنید و بفرستید چون شاید من دارم اشتباه میکنم ، تشکر و سپاس فراوان

wolf_majid
پنج شنبه 28 مهر 1390, 13:07 عصر
این اصلا ربطی به کد و یا اس پی که نوشتید نداره
شما باید یک تابع بنویسید که حروف ی و ک رو فیکس کنه
برای این کار شما قطعا فیلد ها رو به صورت پارامتر می فرستید
قبل از ارسال پارامترها رو به یه تابع بفرستید که ی و ک رو فیکس کنه به این صورت:

text = text.Replace("\u0643", "\u06A9"); // ک

text = text.Replace("\u0649", "\u06CC"); // ی

text = text.Replace("\u064A", "\u06CC"); // ی

text = text.Replace("\u06C0", "\u0647\u0654"); // هٔ

یعنی چی fix کنه ؟
من که باهاشون مشکلی ندارم بدون نیاز به fix هم ثبت می کنه هم جستجو