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 > เกี่ยวกับเรื่อง SQL Server 2000 และ Stored procedure ตัวแปรหน้าใช้อักษรพิเศษ



 

เกี่ยวกับเรื่อง SQL Server 2000 และ Stored procedure ตัวแปรหน้าใช้อักษรพิเศษ

 



Topic : 088834

Guest




เกี่ยวกับเรื่อง sql2000 และ stored procedure ตัวแปรหน้าใช้อักษรพิเศษ
อยากทราบว่า สมมุดผมต้องการให้ระบบ ตรวจเช็คก่อนจาก stored procedure
ว่าห้ามใช้ อักษรพิเศษ เช่น !@#$%^& ประมาณนี้
เมื่อตรวจสอบอักษรตัวใดตัวหนึ่ง ระบบจะไม่ส่งข้อมูลไปยัง sql2000 ต้องสร้างคำสั่งยังไงครับ
มือใหม่ไม่ค่อยเก่ง ขอความกรุณาด้วยครับ ขอบคุณมากครับ



Tag : MySQL, Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-01-06 04:48:29 By : มือใหม่ View : 3713 Reply : 11
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

น่าจะเช็คตั้งแต่ขั้นตอนการส่งข้อมูลน่ะครับ หรือไม่ถ้า .NET ก็ใช้การส่ง Query แบบ Parameters จะได้ไม่มีปัญหาครับ

.NET Parameterized Queries






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-07 17:18:10 By : mr.win
 


 

No. 2

Guest


ผมยัง งง กับการใช้งานมันอยู่ครับ ช่วยยกตัวอย่างได้ป่าว
ผมมือใหม่ พอเขียนเข้าใจแต่ job ที่รันใน sql แต่หากเป็น Stroe Procedure ที่เขียนเชื่อมต่อกับโปรแกรมยังไม่เก่งเท่าไร
ผมต้องเขียนสคลิปเพิ่มต่อไหนเพิ่มที่จะบล็อคไม่ให้ใช้อักษรพิเศษ !@#$%^&*()_ ให้มันตรวจเช็คค่าก่อนลงบันทึกใน SQL

Code
 CREATE Procedure [dbo].[WZ_CreateCharacter]  
	@AccountID		varchar(10), 
	@Name			varchar(10), 
	@Class			tinyint 
 AS 
 Begin 
	SET NOCOUNT ON 
	SET	XACT_ABORT ON 
	DECLARE		@Result		tinyint 
	SET @Result = 0x00 
	If EXISTS ( SELECT  Name  FROM  Character WHERE Name = @Name ) 
	begin 
		SET @Result	= 0x01 
		GOTO ProcEnd 
	end 
	If EXISTS ( SELECT  Name  FROM  BotPet WHERE Name = @Name ) 
	begin 
		SET @Result	= 0x01					
		GOTO ProcEnd						
	end 
	BEGIN TRAN 
	If NOT EXISTS ( SELECT  Id  FROM  AccountCharacter WHERE Id = @AccountID ) 
		begin 
			INSERT INTO dbo.AccountCharacter(Id, GameID1, GameID2, GameID3, GameID4, GameID5, GameIDC)  
			VALUES(@AccountID, @Name, NULL, NULL, NULL, NULL, NULL) 
			SET @Result  = @@Error 
		end 
	else 
		begin 
			Declare @g1 varchar(10), @g2 varchar(10), @g3 varchar(10), @g4 varchar(10), @g5 varchar(10)						
			SELECT @g1=GameID1, @g2=GameID2, @g3=GameID3, @g4=GameID4, @g5=GameID5 FROM dbo.AccountCharacter Where Id = @AccountID 			
			if( ( @g1 Is NULL) OR (Len(@g1) = 0)) 
				begin 
					UPDATE AccountCharacter SET  GameID1 = @Name 
					WHERE Id = @AccountID 
					SET @Result  = @@Error 
				end 
			else	 if( @g2  Is NULL OR Len(@g2) = 0) 
				begin 
					UPDATE AccountCharacter SET  GameID2 = @Name 
					WHERE Id = @AccountID 
					SET @Result  = @@Error 
				end 
			else	 if( @g3  Is NULL OR Len(@g3) = 0) 
				begin			
					UPDATE AccountCharacter SET  GameID3 = @Name 
					WHERE Id = @AccountID 
					SET @Result  = @@Error 
				end 
			else	 if( @g4 Is NULL OR Len(@g4) = 0) 
				begin 
					UPDATE AccountCharacter SET  GameID4 = @Name 
					WHERE Id = @AccountID 
					SET @Result  = @@Error 
				end 
			else	 if( @g5 Is NULL OR Len(@g5) = 0) 
				begin 
					UPDATE AccountCharacter SET  GameID5 = @Name 
					WHERE Id = @AccountID 
					SET @Result  = @@Error
				end 		
			else 
				begin					
					SET @Result	= 0x03							
					GOTO TranProcEnd								
				end 			 
		end 	
	if( @Result <> 0 ) 
		begin 
			GOTO TranProcEnd 
		end 
	else 
		begin 
			INSERT INTO dbo.Character(AccountID, Name, cLevel, LevelUpPoint, Class, Strength, Dexterity, Vitality, Energy, Inventory,MagicList, 
					Life, MaxLife, Mana, MaxMana, MapNumber, MapPosX, MapPosY,  MDate, LDate, Quest, DbVersion, Leadership,money ) 
			SELECT @AccountID As AccountID, @Name As Name, Level, 0, @Class As Class, 
				Strength, Dexterity, Vitality, Energy, Inventory,MagicList,  Life, MaxLife, Mana, MaxMana, MapNumber, MapPosX, MapPosY, 
				getdate() As MDate, getdate() As LDate, Quest, DbVersion, Leadership,0 
			FROM  DefaultClassType WHERE Class = @Class 
			SET @Result  = @@Error 
		end 
TranProcEnd:	-- GOTO 
	IF ( @Result  <> 0 ) 
		ROLLBACK TRAN 
	ELSE 
		COMMIT	TRAN 
ProcEnd: 
	SET NOCOUNT OFF 
	SET	XACT_ABORT OFF 
	SELECT 
	   CASE @Result 
	      WHEN 0x00 THEN 0x01 
	      WHEN 0x01 THEN 0x00 
	      WHEN 0x03 THEN 0x03 
	      ELSE 0x02 
	   END AS Result 
End
GO


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-13 01:53:08 By : มือใหม่
 

 

No. 3

Guest


ใครเก่งช่วยหน่อยครับ จะได้เป็นความรู้ในการศึกษาต่อไป
ขอบคุณมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-15 01:44:49 By : มือใหม่
 


 

No. 4

Guest


ทำสองขั้นตอนก็ได้ครับ จะง่ายกว่า
1. เช็คค่าชื่อตัวละครที่ตั้งนั้นมีตัวที่เราห้ามมั้ย !@#$%^&*()_ , ก็ใช้ script พวกเช็คตัวอักษรใน string ตามภาษาที่ใช้เขียนแหละครับ ถ้าเช็คแล้วไม่มีอักษรที่ห้าม เราก็ทำ(2)
2. โยนค่าต่าง ๆ ที่กรอกเข้าไปใน stored procedure ที่ทำไว้ครับ

ใช้ภาษาอะไรเขียนโค้ดอยู่ครับ เผื่อมีใครช่วยเพิ่ม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-15 15:20:53 By : N3BUL4
 


 

No. 5

Guest


ผมไม่ค่อยแน่ใจเหมือนกันนะครับ ที่ใช้ใน SQL2000 ตรงส่วนของ stored procedure แต่คิดว่าน่าจะเป็น c++
ผมพอถูๆไถๆ ไปได้ เรื่องการเขียน JOB ใน SQL2000 ที่ให้มันรัยเป็นนาที
แต่จากโค๊ตข้างบนนี้ผมอ่านแล้วไม่เข้าใจเลยว่ามันคืออะไร แต่พอเข้าใจแค่ UPDATE SET WHERE
รบกวนหน่อยนะครับ ขอบคุณมากๆเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-15 23:48:35 By : มือใหม่
 


 

No. 6

Guest


Stored Procedure ที่ให้มา ดูคร่าว ๆ เป็นการจัดการตัวละครของเกม หรือสร้างตัวละคร
รับค่า AccountID, Name, Class เข้ามาสร้างข้อมูลตัวละครใหม่ ประมาณนั้นครับ

แต่ส่วน C++ ผมไม่ทราบเหมือนกันว่าใช้ร่วมกับ stored procedure แล้ว Code จะเป็นยังไง (พอดีไม่เคยทำ C++ เลย รู้แค่เค้าชอบใช้เขียนเกมกันเมื่อหลายปีก่อน)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-16 09:41:25 By : N3BUL4
 


 

No. 7

Guest


ยังไงก็ขอบคุณมากเลยครับที่มาช่วยแนะนำความรู้ให้ ^^
แต่ผมก็ยังไม่เข้าใจอยู่ดีๆ รอผู้รอบรู้คนต่อไป รบกวนขอคำชี้นำหน่อยนะครับ ^^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-16 16:43:08 By : มือใหม่
 


 

No. 8



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



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


ทำไม่คุณไม่เช็ค อักษรพิเศษ ก่อนละครับ ว่าข้อมูลที่เข้ามานั้น ถูกหรือไม่
ถ้าไม่ถูกก็ให้ return เป็นข้อความหรืออะไรก็แล้วแต่คุณ
แต่ถ้าข้อมุลถูกต้องก็ให้ไปเรียก procedure ตัวที่ต้องการ
ผมไม่แนะนำให้ check อักษรพิเศษใน procedure ครับ เพราะคุณจะเพิ่มภาระให้ server มากเกินไป
เพราะทุกครั้งที่คุณทำการเรียก procedure ตัวนั้นๆ จะทำให้ memory ถูกใช้งาน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-16 17:02:44 By : kanchen
 


 

No. 9

Guest


ขอขอบคุณมากครับ kanchen
แต่การเช็คภาษาทางฝั่งโปรแกรมมันป้องกันได้เฉพาะในการสร้างตัวละคร แต่มันจะมี คำสั่งอีกหลายๆคำสั่งในเกมส์ซิจะมีผลเหมือนกัน
ผมเลยอยากได้ตัวอย่างแค่จาก stored procedure เดียวไว้เป็นตัวอย่าง ส่วนอันอื่นๆผมจะไปดัดแปลงใช้ตามทีหลังครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-16 19:23:56 By : มือใหม่
 


 

No. 10



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



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


ลองดูในนี้เอาครับ String Functions
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-16 21:02:04 By : kanchen
 


 

No. 11

Guest


@ KanJi
มันเป็นศัพท์เฉพาะทางนั้นเลย 555+ ดูแล้ว งง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-16 21:28:07 By : มือใหม่
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เกี่ยวกับเรื่อง SQL Server 2000 และ Stored procedure ตัวแปรหน้าใช้อักษรพิเศษ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
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 อัตราราคา คลิกที่นี่