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 > รบกวนหน่อยครับ คือว่าผมเขียน store procedure แล้ว ให้มัน return string ออกมาให้ แต่ตรงส่วนรับจะเขียนงัยอะครับ



 

รบกวนหน่อยครับ คือว่าผมเขียน store procedure แล้ว ให้มัน return string ออกมาให้ แต่ตรงส่วนรับจะเขียนงัยอะครับ

 



Topic : 043230

Guest




คือว่าผมเขียน store procedure แล้ว ให้มัน return string ออกมาให้
แต่ตรงส่วนรับจะเขียนงัยอะครับ
โดยที่ผมเรียกใช้ stroe ของ .net


Code
objConn = new SqlConnection();
objConn.ConnectionString = strConnString;
try
{
objCmd = new SqlCommand();
objCmd.Connection = objConn;
objCmd.CommandText = PocedureName; //ชื่อ Procedure
for (int i = 0; i < PParameters.Length; i++)
{
objCmd.Parameters.AddWithValue(PParameters[i].ToString(), value[i]);
}

objCmd.CommandType = CommandType.StoredProcedure; //กำหนดชนิดเป็น StoredProcedure
objConn.Open();
objCmd.ExecuteNonQuery();


แล้วจะรับงัยอะครับ ตรงใหนครับรบกวนหน่อยนะครับ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-05-24 11:33:09 By : โย View : 2374 Reply : 14
 

 

No. 1



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



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


objCmd.CommandType = CommandType.Text ; เหมือนเดิมแหละค่ะ
เอ ตัวที่เรียกเป็น scalar function หรือ store proc คะ
ถ้าเป็น scalar function return อะไรก้อได้ แต่ store proc จะ return int เท่านั้นค่ะ
จากโจทย์คุณบอกว่าเป็น string ก้อน่าจะเป็น function เรียกใช้ scalar function
ก็เรียกผ่าน SELECT ปกติค่ะ
>> SELECT [dbo].[ชื่อฟังก์ชั่น]()
ตอนรับค่ากลับเข้ามาใน .NET ก็ใช้ EXECUTESCALAR แทน EXECUTENONQUERY ค่ะ
แบบนี่
Code (C#)
object temp = objCmd.ExecuteNonQuery();
string retStr = Convert.IsDbNull( temp) ? string.Empty : temp.ToString() ;







Date : 2010-05-25 07:25:30 By : blurEyes
 


 

No. 2



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

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

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


ถามต่อนิดนึงนะ

store procedure เนี่ยเขียนเป็น string ในส่วนที่เป็นโค้ดโปรแกรมได้หรือเปล่าครับ

คือไม่ชอบไปยุ่งกับฐานข้อมูลน่ะครับ
Date : 2010-05-25 12:00:24 By : tungman
 

 

No. 3



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



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


ถามครัยคะพี่ตึ๋ง ถามเจ้าของกระทู้ป่าว เอหรือฝากถามน้องโคคะ ^ ~
Date : 2010-05-25 12:34:31 By : blurEyes
 


 

No. 4



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

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

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


ถามหนูนั่นแหละจ้า
Date : 2010-05-25 12:42:12 By : tungman
 


 

No. 5



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



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


เดวตอนเยนจะกลับมาตอบค่ะ ขออนุญาตไปเรียนก่อนค่ะ ^ ^
Date : 2010-05-25 12:55:21 By : blurEyes
 


 

No. 6



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



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


ก่อนอื่นต้องขอประทานโทษค่ะ เป็นหวัดนิดหน่อย

ส่วนเรื่อง Store procedure มันทำได้หลายระดับ นะคะในกรณีของ database ตัวใหญ่ๆอย่าง oracle
หรือ ms sql server อันที่จริงก็ทุกตัวแหละค่ะ เริ่มๆเห็นตัว beta มาละ
ที่สามารถเขียน CLR CODE ด้วยภาษาปกตินี่แหละค่ะเพียงแต่อาจจะเปลี่ยนเรื่องการ connection
เท่านั้นเอง(*1) แล้ว compile ฝังลงไปที่ตัว database เลย
โดยจะเรียกว่าเป็น CLR Store Procedure เพราะเป็น CLR Assembly ตามปกติ

ทีนี้ถ้าจะยก STORE PROCEDURE มาเขียนที่ CODE ตอบว่าทำได้
แต่ส่วนตัวแล้วไม่คิดจะทำค่ะ เพราะเท่าที่ทราบวิธีนี้คือการ เขียน SCRIPT CREATE PROC
ส่งเข้าไปแบบ executenonquery พอใช้เสร็จก็ลบทิ้ง
คล้ายๆกับการสร้าง temp table ที่หลีกเลี่ยงให้มากเท่าที่จะทำได้
เพราะมันใช้ทรัพยากรค่อนข้างจะเยอะแล้วถ้า Control ไม่ดีไม่ถี่ถ้วนจริงในระบบที่มีผู้ใช้เยอะๆ
จะทำให้เกิดการ Crash ในบางส่วนได้ค่ะ

ถามว่าความจำเป็นในการใช้ STORE PROCEDURE มีไหม อันนี้ความเห็นส่วนตัวนะคะ
ไม่ฟันธง พี่ๆคนอื่นอาจจะไม่เห็นด้วยก็ได้ คิดว่ายังมีความจำเป็นอยู่ในระบบงานที่เริ่มๆจะซับซ้อน
ที่ต้องการความเร็วสูงๆ และความง่ายในการดูแลรักษา (เพราะปรับแก้ STORE PROC ได้เลยไม่ต้อง RECOMPILE อะไรใหม่) ถ้าเทียบกันแล้ว T-SQL จะเปรียบกับ Native code ค่ะ
ยังไงความเร็วและประสิทธิภาพก็ย่อมเหนือกว่า IL code หลายเท่า แต่ข้อจำกัดของ STORE PROC
ก็มีเยอะค่ะ เห็นก็คือถึงจะคล้ายกันแต่ก็มีบางส่วนที่ต่างกันออกไปเลยในแต่ละ database
แต่โดยปกติ site นึงๆจะใช้ฐานข้อมูลตัวเดียวอยู่แล้ว อีกเรื่องคือข้อจำกัดของตัว database manager เอง
อย่าง T-SQL นี่ Pipe ของ function Stack จะไม่เกิน 32 มั้งคะถ้าจำไม่ผิด หมายความว่า
มันจะใช้ function recursive ได้ไม่เกิน 32 ชั้น แต่ใน IL ทำได้จนกว่าทรัพยากรจะหมดแหละค่ะ
คงมีเท่านี้มั้งคะข้อดีข้อเสีย อาจะไม่ครบเพราะไม่ได้ทำงานจริงๆจังๆค่ะ
และส่วนตัวจะพยายาม hybrid ทำทั้งสองส่วนจะได้ชดเชยข้อดีข้อด้อยกันและกันค่ะ

ตอนนี้เริ่มๆ เปิดเทอมกันแล้ว คำถามเริ่มก่อตัวมาเป็นพายุ พราวก็เปิดเทอมละ
คงไม่ได้มากวนใจใครในบอร์ดนี้บ่อยๆละค่ะ พี่ตึ๋งก็เป็นโค้ชให้น้องๆนะคะ ขอบคุณค่ะ

(*1) นั่งอ่าน นั่งดู video tutorial ไปรอบนึงแล้วค่ะ ยังไม่ได้ลองปฏิบัติเพราะตอนนี้
Aim ไปที่ LINQ to SQL แทน
Date : 2010-05-27 08:48:48 By : blurEyes
 


 

No. 7



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



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


cute-header-04x

อ่ออีกเรื่องนึงไปทราบเทคนิคการเขียน oop ใน c# มาอีกอย่างค่ะ
ถ้าเอาไปโพสเป็นกระทูใหม่คงไม่ค่อยมีใครสนใจ ส่วนมากจะถาม
login ทำยังไง grid ทำอย่างไร ไม่ค่อยมีใครอยากจะรุด้วยมังคะ

ไม่รุว่าพี่ตึ๋งทราบยัง ไม่รุล่ะเอาเป็นว่าให้พราวปล่อยไก่สักฟาร์มละกันนะคะ
เป็นเทคนิคการเขียน .net อีกแบบ MS เรียกว่า Method extension ที่เราจะพบใน LINQ
สังเกตุนะคะเราจะมีคำสั่งเพิ่มหลัง collection ,class ,interfece โดยที่ไม่ได้มีการไปปรับแก้อะไร
หรือไป inherit อะไรจากคลาสต้นแบบเลย

ตัวอย่างนี้เขียน 3 แบบ แบบแรกเป็นแบบที่ลองทำครั้งแรก overhead น่าจะเยอะมาก เพราะใช้ reflection
method ในตัวอย่างเป็นการ add javascript ลงไปใน web server control ผ่านทาง attributes ค่ะ
เป็นวิธีที่เรียกว่า script injection ลองดูไก่ของพราวนะคะจะกี่ฟาร์มกัน ^ ^

อันนี้ version แรกๆ

Code (C#)
     public static bool AddClientScript(object varServerSideControl
        , string varEventName, string varScript)
    {
        Type objectType = varServerSideControl.GetType();
        PropertyInfo AttributesPropertyInfo = objectType.GetProperty("Attributes");

        if (AttributesPropertyInfo == null) return false ; //not support 01

        System.Web.UI.AttributeCollection allAttr
            = AttributesPropertyInfo.GetValue(varServerSideControl, null)
            as System.Web.UI.AttributeCollection;

        if (allAttr == null) return false; //not support 02

        allAttr.Add(varEventName, varScript);
        return true;
    }



usage:

Code (C#)
        protected void Page_Load(object sender, EventArgs e)
        {
                AddClientScript ( ExpiredDateAjaxCalendar ,"onclick" 
                        , "return expiredateValidation(this);")
                .....
                .....
         } 




ส่วน code version 2 เป็น method extension กับ Generic ค่ะ code effective ขึ้นมากๆ เลย

Code (C#)
namespace System.Web.UI.CustomExtensions
{  

    public static class WebControlExtension
    {

        /// <summary>
        /// Add Some JavaScript snippet into web server control by inject with method extension feature.
        /// </summary>
        /// <param name="argControl"></param>
        /// <param name="argClientMethodName"></param>
        /// <param name="argScript"></param>
        public static void AddClienScript(this System.Web.UI.WebControls.WebControl argControl
            , string argClientMethodName, string argScript)
        {            
            argControl.Attributes.Add(argClientMethodName, argScript);            
        }

        public static void AddClienScript<T>(T argControl, string argClientMethodName, string argScript) 
            where T : System.Web.UI.WebControls.WebControl
        {
            argControl.Attributes.Add(argClientMethodName, argScript);     
        }
    }
}


usage:

Code (C#)
using System.Web.UI.CustomExtension ;
public partial class _Default : System.Web.UI.Page
{
        protected void Page_Load(object sender, EventArgs e)
        {
                ExpiredDateAjaxCalendar.AddClientScript ( ExpiredDateAjaxCalendar 
                        ,"onclick" , "return expiredateValidation(this);")

                AddClientScript <ImageButton>(DeleteImageButton ,"onclick" 
                        ,"return confrim('Delete?');") ;
                .....
                .....
         } 

.....
.....


เท่าที่ลองใช้ดู method extension แก้ปัญหาหลายๆอย่างได้ดีมากๆค่ะ เพราะเป็น feature ที่สนุบสนุน oop

ขอบคุณมากค่ะ อ่อ นับไก่ได้กี่ตัวคะ ^ ^
Date : 2010-05-27 09:08:50 By : blurEyes
 


 

No. 8



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

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

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


ขอบคุณครับ พอถามไปแล้ว กลับไปคิดไปคิดมา ก็รู้สึกว่าใช้งานผิดประเภทอยู่เหมือนกัน

ซึ่งก็ทำบ่อยด้วย แต่ไม่ได้เอาไปใช้งานจริง แค่ทดลองทำเล่นว่ามันทำแบบนี้ได้ด้วย

รักษาสุขภาพด้วยครับ ช่วงนี้เริ่มเข้าหน้าฝน หวัดเดี๋ยวนี้ยิ่งแรงๆ อยู่ด้วย
Date : 2010-05-27 09:25:49 By : tungman
 


 

No. 9



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



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


ไม่เป็นไรแล้วค่ะนอนดึกบ่อยเจอแดดเลยกระหม่อมบาง
ปกติจะทนกว่านี้เยอะค่ะ นี่ๆ มีของฝากพี่ตึ๋งข้างบนค่ะ
Date : 2010-05-27 12:23:22 By : blurEyes
 


 

No. 10



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

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

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


ขอบคุณครับ กะว่าจะเก็บได้อ่านและทำความเข้าใจตอนเย็นๆ น่ะครับ
Date : 2010-05-27 12:52:40 By : tungman
 


 

No. 11



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

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

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


อู้ไปนาน เพิ่งได้มาอ่าน ขอรับไปต่อยอดครับ เป็นวิธีที่ลดโค้ดไปเยอะเลย มี method เพิ่มโดย

ไม่ต้อง inherite แถมยังเพิ่มได้ทุกๆ object อีกด้วย
Date : 2010-06-06 12:16:33 By : tungman
 


 

No. 12

Guest


เป็นการสร้าง Stored Procedure ให้ RETURN ค่า STRING ออกมานะครับ

ก่อนอื่นสร้าง TABLE กันก่อนครับ



CREATE TABLE [dbo].[tbl_test](
[test_id] [int] IDENTITY(1,1) NOT NULL,
[test_name] [nvarchar](20) NULL,
[test_pws] [nvarchar](20) NULL,
CONSTRAINT [PK_tbl_test] PRIMARY KEY CLUSTERED
(
[test_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO


สร้างเพื่อใช้ในการทดสอบระบบ Login อย่างง่ายนะครับ

ถัดมาเรามาดูกานสร้าง SP กันครับ

CREATE PROCEDURE [dbo].[sp_login]
@t_id NVARCHAR(30),
@t_pw NVARCHAR(30),
@returnString NVARCHAR(30) OUTPUT
AS
Begin
SET NOCOUNT ON

DECLARE @id nvarchar(30)
DECLARE @pw nvarchar(30)
DECLARE @uid int

SET @id = @t_id
SET @pw = @t_pw
SET @returnString = ''

IF (@id = '' AND @pw = '')
BEGIN
SET @returnString = 'กรุณาระบุ ชื่อผู้ใช้ และ รหัสผ่าน'
END
ELSE IF (@id = '')
BEGIN
SET @returnString = 'กรุณาระบุ ชื่อผู้ใช้'
END
ELSE IF(@pw = '')
BEGIN
SET @returnString = 'กรุณาระบุ รหัสผ่าน'
END
ELSE

IF EXISTS(select [test_id] from tbl_test WHERE [test_name]=@id AND test_pws=@pw)
--ถูกต้อง
BEGIN
SELECT @uid = [test_id] from tbl_test WHERE [test_name]=@id AND test_pws=@pw
SET @returnString = 'เข้าสู่ระบบด้วย ' + @uid
END
ELSE
--ผิด
BEGIN
SET @returnString = 'ข้อมูลเข้าสู่ระบบไม่ถูกต้อง'
END

SET NOCOUNT OFF
End

การเรียกใช้งาน ผมลองใช้ ASP เรียกใช้งานนะครับ จะได้ แบบนี้

ASP CODE


<%
Dim m_pwd,m_id
Dim oConn, oCmd, rs,sql,returnValue

m_id=trim(request("m_id"))
m_pwd=trim(request("m_pwd"))

adCmdStoredProc = 4
adinteger = 3
adParamInput = 1
adParamOutput = 2
adParamReturnValue = 4
advarwchar=200

Set oCmd = server.createobject("adodb.command")

With oCmd
.ActiveConnection = db
.CommandType = adCmdStoredProc
.CommandText = "sp_login"
.Parameters.Append .CreateParameter("@m_id",advarwchar,adParamInput,20,m_id)
.Parameters.Append .CreateParameter("@m_pwd",advarwchar,adParamInput,20,m_pwd)
.Parameters.Append .CreateParameter("@returnString", adVarWChar, adParamOutput, 30, "")
.Execute,,adexecutenorecords
returnValue = .Parameters("@returnString").Value
End With
Set oCmd = Nothing

Response.write "RETURN VALUE : " & returnValue
response.Write "<hr />"
%>

อ่านต่อตามนี้เลยครับ

http://www.siamfocus.com/content.php?slide=10&content=181
Date : 2011-06-08 16:27:23 By : น้องโฟ
 


 

No. 13

Guest


Code (ASP)
เป็นการสร้าง Stored Procedure ให้ RETURN ค่า STRING ออกมานะครับ

ก่อนอื่นสร้าง TABLE กันก่อนครับ



CREATE TABLE [dbo].[tbl_test](
 [test_id] [int] IDENTITY(1,1) NOT NULL,
 [test_name] [nvarchar](20) NULL,
 [test_pws] [nvarchar](20) NULL,
 CONSTRAINT [PK_tbl_test] PRIMARY KEY CLUSTERED 
(
 [test_id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO


สร้างเพื่อใช้ในการทดสอบระบบ Login อย่างง่ายนะครับ

ถัดมาเรามาดูกานสร้าง SP กันครับ

CREATE PROCEDURE [dbo].[sp_login]
@t_id NVARCHAR(30),
@t_pw NVARCHAR(30),
@returnString NVARCHAR(30) OUTPUT
AS
Begin
 SET NOCOUNT ON
 
 DECLARE @id nvarchar(30)
 DECLARE @pw nvarchar(30)
 DECLARE @uid int

 SET @id = @t_id
 SET @pw = @t_pw
 SET @returnString = ''
 
 IF (@id = '' AND @pw = '')
 BEGIN
 SET @returnString = 'กรุณาระบุ ชื่อผู้ใช้ และ รหัสผ่าน'
 END
 ELSE IF (@id = '')
 BEGIN
 SET @returnString = 'กรุณาระบุ ชื่อผู้ใช้'
 END
 ELSE IF(@pw = '')
 BEGIN
 SET @returnString = 'กรุณาระบุ รหัสผ่าน'
 END
 ELSE 
 
 IF EXISTS(select [test_id] from tbl_test WHERE [test_name]=@id AND test_pws=@pw)
 --ถูกต้อง
 BEGIN
 SELECT @uid = [test_id] from tbl_test WHERE [test_name]=@id AND test_pws=@pw
 SET @returnString = 'เข้าสู่ระบบด้วย ' + @uid
 END
 ELSE
 --ผิด
 BEGIN
 SET @returnString = 'ข้อมูลเข้าสู่ระบบไม่ถูกต้อง'
 END
 
 SET NOCOUNT OFF
End

การเรียกใช้งาน ผมลองใช้ ASP เรียกใช้งานนะครับ จะได้ แบบนี้

ASP CODE


<%
Dim m_pwd,m_id
Dim oConn, oCmd, rs,sql,returnValue

m_id=trim(request("m_id"))
m_pwd=trim(request("m_pwd"))

adCmdStoredProc = 4
adinteger = 3
adParamInput = 1
adParamOutput = 2
adParamReturnValue = 4
advarwchar=200

Set oCmd = server.createobject("adodb.command")

With oCmd
   .ActiveConnection = db
   .CommandType = adCmdStoredProc
   .CommandText = "sp_login"
   .Parameters.Append .CreateParameter("@m_id",advarwchar,adParamInput,20,m_id) 
   .Parameters.Append .CreateParameter("@m_pwd",advarwchar,adParamInput,20,m_pwd) 
   .Parameters.Append .CreateParameter("@returnString",  adVarWChar, adParamOutput, 30, "")
   .Execute,,adexecutenorecords
 returnValue = .Parameters("@returnString").Value
End With
Set oCmd = Nothing

Response.write "RETURN VALUE : " & returnValue
response.Write "<hr />"
%>


อ่านต่อตรงนี้นะครับ

http://www.siamfocus.com/content.php?slide=10&content=181
Date : 2011-06-08 16:28:48 By : focus
 


 

No. 14



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



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


ขอบคุณที่แนะนำให้รู้จัก Extension Method
วันนี้เลยไปลองหาดู โชคดีที่ VB ก็มีด้วย

รู้สึกว่า Feature นี้เริ่มมีตั้งแต่ VS2008
Date : 2011-06-09 09:23:31 By : watcharop
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนหน่อยครับ คือว่าผมเขียน store procedure แล้ว ให้มัน return 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 03
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 อัตราราคา คลิกที่นี่