راهنمایی در مورد نحوه تفکیک داده و ذخیره آن در SQL Server
با سلام و خسته نباشید
من میخوام یه همچین برنامه ایی بنویسم ولی متاسفانه هم خیلی گشتم چیزی پیدا نکردم و هم همه اش به مشکل برخورد میکنم
داده ایی از سمت کلاینت ارسال میشه و داخل یک تکس باکس تمام اون داده نمایش داده میشه
حال من میخوام که این داده به طور مستقیم داخل اس کیو ال ذخیره بشه و نوع ذخیره اون به این گونه باشه
مثال :
داده های وارد شده در تکس باکس
E!-659989565-9322659-568-8982-8655
R@-48454654G8-985298-2487656-456112328
حال میخوام که اگر داده ابتداش با !E شروع شده بره داخل تیبل A در اس کیو ال ذخیره کنه
اگر داده ابتداش با @R شروع شده بره داخل تیبل B در اس کیو ال ذخیره کنه
همچنین امکان این رو داشته باشه که هر قسمتی از این متن در ستون خودش قرار بگیرد
یعنی اگر داده در جدول Aذخیره می شود عدد659989565 در ستون یک ، عدد 9322659 در ستون دو ،عدد568 در ستون سه،عدد8982 در ستون چهار و عدد8655در ستون پنجم قرار بگیرد
در ضمن برام اصلا مهم نیست چه زبان برنامه نویسی میخواد باشه فقط بتونم این کار تفکیک رو انجام بدم برام کافیه
خیلی ممنون میشم اگر بتونید منو راهنمایی کنید
با تشکر
نقل قول: راهنمایی در مورد نحوه تفکیک داده و ذخیره آن در SQL Server
سلام دوست من
اول بگو با چه زبانی میخوای بنویسی تا بهتر بشه راهنمایی کرد
وگرنه این برنامه رو میشه با خود اسکیوال هم نوشت و فقط فرم ورود اطلاعاتش رو با هرچی خواستی طراحی کنی
با اسکبوال:
خرجش یه sp هستش که یه پارامتر ورودی داره که اون داده هست و مابقی مسیر رو با اسکیوال میری
نقل قول: راهنمایی در مورد نحوه تفکیک داده و ذخیره آن در SQL Server
نقل قول:
نوشته شده توسط
rezashaban
سلام دوست من
اول بگو با چه زبانی میخوای بنویسی تا بهتر بشه راهنمایی کرد
وگرنه این برنامه رو میشه با خود اسکیوال هم نوشت و فقط فرم ورود اطلاعاتش رو با هرچی خواستی طراحی کنی
با اسکبوال:
خرجش یه sp هستش که یه پارامتر ورودی داره که اون داده هست و مابقی مسیر رو با اسکیوال میری
من میخوام این برنامه رو با C# بنویسم ممنون میشم اگر کمک کنید کجا و چطوری باید از این sp استفاده کرد
نقل قول: راهنمایی در مورد نحوه تفکیک داده و ذخیره آن در SQL Server
sp = Stored Procedure
این sp رو باید داخل اسکیوال بنویسی و مقادیر وارد شده داخل فرم رو به اون ازسال کنی
اگه اسکیوال کار کرده باشی واست کاری نداره(سخت نیست)
نقل قول: راهنمایی در مورد نحوه تفکیک داده و ذخیره آن در SQL Server
نقل قول:
نوشته شده توسط
spacket
من میخوام این برنامه رو با C# بنویسم ممنون میشم اگر کمک کنید کجا و چطوری باید از این sp استفاده کرد
قبل از هر چیز بایستی یه مکانیزم ایجاد کنی و رشته دریافتی رو به چند قسمت تقسیم کنی (split)
وبعد از اینکه رشته دیافتی به قسمتهای مجزا تقسیم و درون متغیر ها ریخته شد ،
شرط رو براساس قسمتی که اندیسش < صفر > هست قرار بدی و چک کنی وبعد از اینکه شرط محقق شد
هر کدوم از قسمتها رو در جدول مربوطه بریزی
نقل قول: راهنمایی در مورد نحوه تفکیک داده و ذخیره آن در SQL Server
نقل قول:
نوشته شده توسط
khokhan
قبل از هر چیز بایستی یه مکانیزم ایجاد کنی و رشته دریافتی رو به چند قسمت تقسیم کنی (split)
وبعد از اینکه رشته دیافتی به قسمتهای مجزا تقسیم و درون متغیر ها ریخته شد ،
شرط رو براساس قسمتی که اندیسش < صفر > هست قرار بدی و چک کنی وبعد از اینکه شرط محقق شد
هر کدوم از قسمتها رو در جدول مربوطه بریزی
این روش که شما گفتی درسته میشه انجام داد ولی اگه تغییری لازم داشت داخل برنامه بده(یه قسمت به رشته اضافه بشه یا کم بشه و یا بخواد یه جدول جدید اضافه کنه) حتما باید سورس برنامه رو تغییر بده و دوباره نسخه به مشتری بده ولی اگه این تغییرات احتمالی رو ببره سمت دیتابیس دیگه نیاز به نسخه جدید برای نرم افزارش برای اینجور تغییرات نداره
1 ضمیمه
نقل قول: راهنمایی در مورد نحوه تفکیک داده و ذخیره آن در SQL Server
نقل قول:
نوشته شده توسط
rezashaban
این روش که شما گفتی درسته میشه انجام داد ولی اگه تغییری لازم داشت داخل برنامه بده(یه قسمت به رشته اضافه بشه یا کم بشه و یا بخواد یه جدول جدید اضافه کنه) حتما باید سورس برنامه رو تغییر بده و دوباره نسخه به مشتری بده ولی اگه این تغییرات احتمالی رو ببره سمت دیتابیس دیگه نیاز به نسخه جدید برای نرم افزارش برای اینجور تغییرات نداره
هیچ معلومه چی داری می گی ؟؟؟؟؟؟؟؟؟؟؟!!! بایستی یه چیزی داشته باش تا به پروسچر پاس بدی ؟؟؟؟ یانه همینطور الابختکیه؟
حالا همینو انجام بده :لبخند: تا بعد :
نقل قول: راهنمایی در مورد نحوه تفکیک داده و ذخیره آن در SQL Server
من برنامه برای کسی انجام نمیدم ولی تا جایی که بتونم راهنمایی میکنم
خواهی پند بگیر خواهی ملال:لبخند:
نقل قول: راهنمایی در مورد نحوه تفکیک داده و ذخیره آن در SQL Server
نقل قول:
نوشته شده توسط
rezashaban
من برنامه برای کسی انجام نمیدم ولی تا جایی که بتونم راهنمایی میکنم
خواهی پند بگیر خواهی ملال:لبخند:
دوست عزیز صحبت ملال نیست
شاید توی این تالار خیلی از عزیزان منظور شما رو فورا دریافت کنند
ولی از صحبتهای ایجاد کننده تاپیک معلومه که زیاد با این چیزا آشنایی نداره :لبخند:
شاید منظور شما این باشه که درسمت بانک یه فانکشن ایجاد بکنه و کل رشته رو به اون فانکشن ارسال کنه و عمل تفکیک رو انجام بده .... یه چیزی شبیه این :
CREATE FUNCTION SplitString
(
@Input NVARCHAR(MAX),
@Character CHAR(1)
)
RETURNS @Output TABLE (
Item NVARCHAR(1000)
)
AS
BEGIN
DECLARE @StartIndex INT, @EndIndex INT
SET @StartIndex = 1
IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character
BEGIN
SET @Input = @Input + @Character
END
WHILE CHARINDEX(@Character, @Input) > 0
BEGIN
SET @EndIndex = CHARINDEX(@Character, @Input)
INSERT INTO @Output(Item)
SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1)
SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input))
END
RETURN
END
GO
نقل قول: راهنمایی در مورد نحوه تفکیک داده و ذخیره آن در SQL Server
نقل قول:
نوشته شده توسط
khokhan
دوست عزیز صحبت ملال نیست
شاید توی این تالار خیلی از عزیزان منظور شما رو فورا دریافت کنند
ولی از صحبتهای ایجاد کننده تاپیک معلومه که زیاد با این چیزا آشنایی نداره :لبخند:
شاید منظور شما این باشه که درسمت بانک یه فانکشن ایجاد بکنه و کل رشته رو به اون فانکشن ارسال کنه و عمل تفکیک رو انجام بده .... یه چیزی شبیه این :
CREATE FUNCTION SplitString
(
@Input NVARCHAR(MAX),
@Character CHAR(1)
)
RETURNS @Output TABLE (
Item NVARCHAR(1000)
)
AS
BEGIN
DECLARE @StartIndex INT, @EndIndex INT
SET @StartIndex = 1
IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character
BEGIN
SET @Input = @Input + @Character
END
WHILE CHARINDEX(@Character, @Input) > 0
BEGIN
SET @EndIndex = CHARINDEX(@Character, @Input)
INSERT INTO @Output(Item)
SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1)
SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input))
END
RETURN
END
GO
سلام دوست من
نیازی به فانگشن نیست با همون sp هم میتونه کار تفکیک رشته رو انجام بده
منظورم اینه که در فرمی که طراحی مبکنه فقط رشته رو دریافت و به دیتابیس ارسال کنه و عملیات تفکیک و ثبت در جداول رو سمت اسکیوال انجام بده به این ترتیب اگر در آینده خواست جدول اضافه کنه یا طول رشته تغییر کرد و یا هرچیز دیگه ای...بدون تغییر Application میتونه کد اسکبوال رو تغییر بده و هم در زمان صرفه جویی کرده و هم کارش راحتتر میشه