Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > ขอวิธีทำ Running Number แบบต่อ String ครับ คือผมเพิ่งเคยเขียนอ่ะครับ ผมรู้ว่ากระบวนการมันเป็นยังไง



 

ขอวิธีทำ Running Number แบบต่อ String ครับ คือผมเพิ่งเคยเขียนอ่ะครับ ผมรู้ว่ากระบวนการมันเป็นยังไง

 



Topic : 040645



โพสกระทู้ ( 65 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5



คือผมเพิ่งเคยเขียนอ่ะครับ
ผมรู้ว่ากระบวนการมันเป็นยังไง แต่ผมคิดออกมาเป็นการเขียนโค๊ดไม่เป็น
รบกวนผู้รู้ช่วยเขียนตัวอย่างให้ผมหน่อยนะครับ
Running แบบเอา ปี+รหัสสาขา+Running No
เช่น 20100010001 ถ้าสาขาต่อไปก็ 20100020001 แต่ถ้ากลับไปเป็นสาขาเดิมก็ 20100010002
รบกวนขอตัวอย่างทุกขั้นตอนแบบคร่าวๆด้วยนะครับ โปรเจคใกล้ส่งแล้ว ช่วยด้วยนะครับ
ขอบคุณล่วงหน้านะครับ




Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-03-22 09:59:54 By : sonmy View : 3568 Reply : 10
 

 

No. 1



โพสกระทู้ ( 373 )
บทความ ( 0 )



สถานะออฟไลน์


เอ้าาา ซ่ะงั้น งั้นไปดูเรื่อง

string s = "20100010001";
s.Substring(int startIndex, int length);
System.Convert.ToInt32(string val);
s = "2010" + "001" + "0001";

...






Date : 2010-03-22 11:07:22 By : numenoy
 


 

No. 2



โพสกระทู้ ( 65 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

ลืมบอกไป ผมเขียนเป็นภาษา VB.NET ไม่ใช่ C# อ่ะ รบกวนช่วยตั้งแต่เริ่มตรวจสอบข้อมูลเลยได้มั้ยครับว่ามันมีข้อมูล LIKE กันยังไง
แล้วถ้ามัน LIKE กัน จะใช้เงื่อนไขไหนมากตัด String แล้วเอาส่วนไหนไป บวกเพิ่ม ครับ
นั่นแหละผมมึนๆ งง สับสนไปหมดแล้ว รบกวนด้วยนะครับ
Date : 2010-03-22 12:02:59 By : sonmy
 

 

No. 3

Guest


convert c# to vb.net

http://www.developerfusion.com/tools/convert/csharp-to-vb/
Date : 2010-03-22 12:49:38 By : tungman
 


 

No. 4



โพสกระทู้ ( 1,603 )
บทความ ( 1 )



สถานะออฟไลน์


OK-HEADER

อันนี้ลองเขียนด้วย T-SQL ของ MSSQL ดูค่ะ
จะได้ตัดปัญหา VB.NET หรือ C# โยนการ Process ขึ้นบน SQL SERVER
แน่นอนว่า T-SQL จะเร็วกว่า CLR CODE ของ .NET อยู่แล้วค่ะ
เอาไว้ถ้ายังไม่มีตัวอย่างอื่นละกัน หรือจะลองดัดแปลงดูก็ได้นะคะ แก้แค่ชื่อ field กับชื่อ table ใน
[dbo].[GET_NEW_RUNNING_NUMBER_EX] เท่านั้น

Code (C#)
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- ==========================================================
-- Author:		PROUD ,PNK.RJB U.
-- Create date: 02/12/2009
-- Description:	PREFIX STRING WITH SPECIFIC CHARACTOR
-- ==========================================================
ALTER FUNCTION [dbo].[LPAD] (@VAR_STR NVARCHAR(MAX) 
	,@VAR_LENGTH INT ,@VAR_FILL_CHAR NVARCHAR(1))
	RETURNS NVARCHAR(MAX)
AS
BEGIN
	
	DECLARE
		@TEMP			INT , 
		@COUNTER		INT ,
		@RETSTR			NVARCHAR(MAX) ;
		
	SET @TEMP = @VAR_LENGTH - LEN(@VAR_STR);
	SET @RETSTR = @VAR_STR ;
	IF (@TEMP>0)
	BEGIN
		SET @COUNTER = 0;
		WHILE (@COUNTER < @TEMP)
		BEGIN
			SET @RETSTR = @VAR_FILL_CHAR + @RETSTR ;
			SET @COUNTER = @COUNTER +1 ;
		END
	END	
					
	RETURN @RETSTR 

END





Code (C#)
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:		PROUD ,PNK.RJB U.
-- Create date: 22/03/2010
-- Description:	GET NEW RUNNING NUMBER MAIN FUNCTION
-- =============================================
CREATE FUNCTION [dbo].[GET_NEW_RUNNING_NUMBER_EX]
(
	@VAR_YEAR					INT ,
	@VAR_DEPARTMENT				INT ,
	@VAR_DEPARTMENT_LENGTH		INT ,
	@VAR_COUNTER_LENGTH			INT ,
	@VAR_COUNTER_MAX_VALUE		INT  	
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
	
	DECLARE 
		@DATA_YEAR						INT ,
		@DATA_DEPARTMENT				INT ,
		@DATA_COUNTER					INT , 
		@RET_STR						NVARCHAR(MAX) ,
		@CAP_ID							NVARCHAR(MAX) ,
		@TEMP_STR						NVARCHAR(MAX) ,
		@FOUNDED						INT ,
		@CONST_DEPAREMRNT_LENGTH		INT ,
		@CONST_COUNTER_LENGTH			INT ,
		@CONST_MAX_COUNTER				INT ;
		
	SET @CONST_DEPAREMRNT_LENGTH = @VAR_DEPARTMENT_LENGTH ;
	SET @CONST_COUNTER_LENGTH = @VAR_COUNTER_LENGTH ;	
	SET @CONST_MAX_COUNTER = @VAR_COUNTER_MAX_VALUE ;
		
	SET @DATA_YEAR = @VAR_YEAR ;
	SET @DATA_DEPARTMENT = @VAR_DEPARTMENT ;
	
	SET @CAP_ID = CONVERT(NVARCHAR(MAX) ,@DATA_YEAR) 
		+ dbo.LPAD(CONVERT( NVARCHAR(MAX) ,@DATA_DEPARTMENT ) 
			,@CONST_DEPAREMRNT_LENGTH ,'0') ;

	SET @TEMP_STR = @CAP_ID + '%'; 

	SELECT @RET_STR = ISNULL(MAX(Label),'')
		FROM _test_max_value WHERE Label LIKE @TEMP_STR;

	-- 4 debug 
	---SET @RET_STR = '201060123007' ;
	SET @DATA_COUNTER = 0 ;

	IF (LEN(@RET_STR) = (4+ @CONST_DEPAREMRNT_LENGTH + @CONST_COUNTER_LENGTH) ) 
	BEGIN
		SET @RET_STR = SUBSTRING(@RET_STR 
			,LEN(@TEMP_STR) ,LEN(@RET_STR) - LEN(@CAP_ID)+1 );
		
		SET @DATA_COUNTER = CONVERT(INT ,@RET_STR) ;
	END
		
	SET @DATA_COUNTER = @DATA_COUNTER + 1 ;	
	-- Check with maximum value
	IF (@DATA_COUNTER > @CONST_MAX_COUNTER )
	BEGIN
		SET @DATA_COUNTER = 1 ;
	END

	-- Compose ID
	SET @RET_STR = @CAP_ID 
		+ dbo.LPAD(CONVERT(NVARCHAR(MAX) ,@DATA_COUNTER)
			,@CONST_COUNTER_LENGTH ,'0');
		
	
	RETURN @RET_STR

END

GO


Code (C#)
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

-- =====================================================================
-- Author:		PROUD ,PNK.RJB U.
-- Create date: 22/03/2010
-- Description:	GET NEW RUNNING NUMBER SHORT VERSION > EMULATE C# OVERLOAD
-- =====================================================================
CREATE FUNCTION [dbo].[GET_NEW_RUNNING_NUMBER]
(
	@VAR_YEAR					INT ,
	@VAR_DEPARTMENT				INT
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
	
	RETURN dbo.GET_NEW_RUNNING_NUMBER_EX
		( @VAR_YEAR ,@VAR_DEPARTMENT ,3 ,5 ,99999)

END

GO




การใช้งาน
ExecuteScalar ด้วย Command นี้ค่ะ
SELECT [dbo].[GET_NEW_RUNNING_NUMBER](2010 ,1) ;
Date : 2010-03-22 14:18:04 By : blurEye
 


 

No. 5



โพสกระทู้ ( 65 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

งงครับคุณ Stupid girl รบกวนอธิบายทีนะครับ
Date : 2010-03-22 15:09:31 By : sonmy
 


 

No. 6



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


เอา function ของคุณ blurEye ไป query

แล้วลอง ใช้ sql management studio query คำสั่งนี้
SELECT [dbo].[GET_NEW_RUNNING_NUMBER](2010 ,1) ;

เผื่อจะเข้าใจอะนะ
Date : 2010-03-22 15:16:34 By : plakrim
 


 

No. 7



โพสกระทู้ ( 1,603 )
บทความ ( 1 )



สถานะออฟไลน์


คุณต้องบอกมาว่า เจ้า running number นี่เอาไปใช้งานตรงส่วนไหน
จาก table ,field อะไรบ้าง แล้วค่าต่างๆเช่น ปี หรือ สาขา นี่คุณกำหนดจากอะไร
จะได้ตรงกับความต้องการค่ะ

code ที่ให้เป็น Scalar function ของ MSSQL ค่ะ
เอาไปรัน ตามที่พี่ปรากริมบอกแล้วจะมี function เพิ่มขึ้นมา
ซึ่งก้อเดาเอาว่าคุณใช้ MSSQL ใช่ป่าวคะ
Date : 2010-03-22 17:25:56 By : blurEye
 


 

No. 8



โพสกระทู้ ( 65 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

ครับ ใช้ SQL Server แต่เป็น V.2000 นะ รันนิ่งนัมเบอร์เนี้ยะผมจะเอาไปใช้เป็นเลขที่รันนิ่งสัญญา ตามปี
ถ้าเป็นปี 2010 ก็เป็น 2010+รหัสสาขาซึ่งมีอยู่ใน Table สาขา + แล้วก็เลขรันนิ่งอีก 3 หลัก
จะได้ป็น 2010012001 ประมาณนี้ครับ แต่รหัสสาขานั้นน่ะต้องมีการเลือกจะ Dropdownlist ในส่วนของสาขาก่อน เพราะไม่งั้นจะแยกสาขาไม่ได้
หวังว่าคงเข้าในนะครับ
Date : 2010-03-23 09:00:51 By : sonmy
 


 

No. 9

Guest


Quote:
หวังว่าคงเข้าในนะครับ


ผมเริ่มงงแล้วครับ ไม่รู้ใครแนะใครอ่ะ
Date : 2010-03-23 10:08:33 By : tungman
 


 

No. 10



โพสกระทู้ ( 65 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

เสียใจที่สุด ผมยิ่งเป็นคนอธิบายไม่รู้เรื่องด้วยดิ
เสียใจ
Date : 2010-03-23 10:47:40 By : sonmy
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอวิธีทำ Running Number แบบต่อ String ครับ คือผมเพิ่งเคยเขียนอ่ะครับ ผมรู้ว่ากระบวนการมันเป็นยังไง
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่