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 > String or binary data would be truncated. ปัญหาการ post ในเว็บบอร์ดครับ แปลกมากๆ ใครเคยเจอปัญหานี้ช่วยแนะนำด้วยครับ



 

String or binary data would be truncated. ปัญหาการ post ในเว็บบอร์ดครับ แปลกมากๆ ใครเคยเจอปัญหานี้ช่วยแนะนำด้วยครับ

 



Topic : 057581



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



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




อยากจะถามเพื่อนๆชาว Thaicreate ครับว่าเคยมีใครเจอปัญหาเหมือนผมไหม
คือว่าผมเขียนเว็บบอร์ดตามตัวอย่างจากหนังสือเล่มหนึ่ง (ASP.NET 4.0) ปรากฏว่าพอปรับแต่งอะไรทุกอย่างเสร็จ ทดลอง Post ที่เครื่องลูก
และที่ตัว server ที่เราอัพไฟล์ขึ้นไปโดยทดสอบ Post ผ่าน แต่เครื่องบางเครื่องก็ Post ไม่ผ่าน เครื่องลูกในที่นี้หมายถึงเครื่องในวง Lan เดียวกัน แต่ที่ Localhost สามารถ Post ได้ ปกติ แต่ปัญหาติดตรงที่ว่าพอ Post ผ่านชื่อเว็บจริงๆ กลับ Post ไม่ได้ แก้ปัญหานี้มาหลายวันแล้วยังไม่ได้ มีใครพอจะทราบไหมครับว่าสาเหตุนี้เกิดจากอะไร

Code
Source Error
String or binary data would be truncated.The statement has been terminated.


[SqlException (0x80131904): String or binary data would be truncated.
The statement has been terminated.]



Error ที่ขึ้นก็ประมาณนี้ ลองดูในกูเกิ้ลและเว็บอื่นๆปัญหานี้เขาบอกว่าข้อมูลที่ใส่ลงไปเกินที่จะบันทึกลงฐานข้อมูลได้ แต่อันนี้คงไม่ได้ใช่ เพราะ
ฟิวส์ทุกฟิวส์ผมใส่เป็น max ที่เป็นnvarchar และตอน Postก็ทดสอบใส่ตัวหนังสือแค่ 2-3 ตัวยังขึ้น error และปัญหานี้เกิดขึ้นกับบางเครื่อง บางเครื่องก็ได้ แต่ที่ตัว server เองไม่ได้ถ้า Post ผ่าน เว็บจริง แต่ถ้าผ่าน localhost ได้ ปัญหาก็เป็นดังนี้แหละครับ

ใครที่เคยเจอปัญหาแบบนี้หรือพอมีแนวทางแก้ไขช่วยแนะนำด้วยนะครับ



Tag : .NET, C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-03-21 14:57:34 By : kittipoth View : 10699 Reply : 4
 

 

No. 1



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

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

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

Error นี้ไม่ได้มีอะไรซับซ้อนเลยครับ คือ จำนวนฟิวด์ไม่พอดีกัลจำนวน Data ครับ หรือว่า Insert ค่าลงผิดประเภทของฟิวด์ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-21 16:21:11 By : webmaster
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : webmaster เมื่อวันที่ 2011-03-21 16:21:11
รายละเอียดของการตอบ ::
..ขอบคุณมากนะครับสำหรับคำแนะนำ ยังไงจะลองไปแก้ไขดูครับ....

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-21 19:27:56 By : kittipoth
 

 

No. 3



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



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


Code (C#)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Web.Configuration;

namespace Webboard
{
    public partial class Reply : System.Web.UI.Page
    {
        string CurrentTID = "";
 
        protected void Page_Load(object sender, EventArgs e)
        {
            CurrentTID = Request.QueryString["TID"];
            if (CurrentTID == null)
            {
                Response.Redirect("Default.aspx");
            }
            else
            {
                if (CurrentTID == "")
                {
                    Response.Redirect("Default.aspx");
                }
                else
                {
                    string strConn;
                    strConn = WebConfigurationManager.ConnectionStrings["WebboardConnectionString"].ConnectionString;
                    SqlConnection Conn = new SqlConnection(strConn);
                    Conn.Open();

                    StringBuilder sb = new StringBuilder();
                    sb.Append("SELECT TID,Description,UserName,RecordDate,ViewCount,ReplyCount");
                    sb.Append(" FROM Topic");
                    sb.Append(" WHERE TID=@TID");
                    var sqlTopic = sb.ToString();

                    SqlCommand com = new SqlCommand();
                    com.Connection = Conn;
                    com.Parameters.Clear();
                    com.Parameters.Add("@TID", SqlDbType.NVarChar).Value = CurrentTID;
                    com.CommandType = CommandType.Text;
                    com.CommandText = sqlTopic;
                    var dr = com.ExecuteReader();
                    if (dr.HasRows)
                    {
                        dr.Read();
                        var Description = dr.GetString(dr.GetOrdinal("Description"));
                        var UserName = dr.GetString(dr.GetOrdinal("UserName"));
                        var RecordDate = dr.GetDateTime(dr.GetOrdinal("RecordDate"));
                        var ViewCount = dr.GetInt32(dr.GetOrdinal("ViewCount"));
                        dr.Close();

                        sb.Clear();
                        sb.Append("UPDATE Topic");
                        sb.Append(" SET ViewCount=@ViewCount");
                        sb.Append(" WHERE (TID=@TID)");
                        var sqlUpdate = sb.ToString();
                        com.Parameters.Clear();
                        com.Parameters.Add("@ViewCount", SqlDbType.Int).Value = ViewCount + 1;
                        com.Parameters.Add("@TID", SqlDbType.NVarChar).Value = CurrentTID;
                        com.CommandText = sqlUpdate;
                        com.ExecuteNonQuery();

                        Response.Write("<a href='Default.aspx' font-underline='#false'>กลับสู่เว็บบอร์ด</a><br /><br />");
                        Response.Write("<table style='width:960px;'border='0'>");
                        Response.Write("<tr><td colspan='3' bgcolor='#FFCCCC'>" + "หัวข้อกระทู้ : " + Description + "</td></tr>");
                        Response.Write("<tr><td bgcolor='#FFCCCC'>" + "จากคุณ : " + UserName + "</td>");
                        Response.Write("<td bgcolor='#FFCCCC'>" + "วันที่ตั้งกระทู้ : " + RecordDate + "</td></tr></table>");
                    }
                    dr.Close();
                }
            }
        }

        protected void cmdSave_Click(object sender, EventArgs e)
        {
            string strConn;
            strConn = WebConfigurationManager.ConnectionStrings["WebboardConnectionString"].ConnectionString;
            SqlConnection Conn = new SqlConnection(strConn);
            Conn.Open();

            StringBuilder sb = new StringBuilder();
            sb.Append("SELECT TOP 1 ReplyNO FROM Reply");
            sb.Append(" WHERE TID=@TID");
            sb.Append(" ORDER BY ReplyNO Desc");
            var sqlSave = sb.ToString();

            int LastReplyNO;
            SqlCommand com = new SqlCommand();
            SqlDataReader dr;
            com.Connection = Conn;
            com.Parameters.Clear();
            com.Parameters.Add("@TID", SqlDbType.NVarChar).Value = CurrentTID;
            com.CommandType = CommandType.Text;
            com.CommandText = sqlSave;
            dr = com.ExecuteReader();
            if (dr.HasRows)
            {
                dr.Read();
                var CurrentReplyNO = dr.GetInt32(0);
                CurrentReplyNO++;
                LastReplyNO = CurrentReplyNO;
            }
            else
            {
                LastReplyNO = 1;
            }
            dr.Close();

            sb.Clear();
            sb.Append("INSERT INTO Reply(TID,ReplyNO,Description,ReplyName,ReplyDate,IP)");
            sb.Append("VALUES (@TID,@ReplyNo,@Description,@ReplyName,@ReplyDate,@IP)");
            sqlSave = sb.ToString();
            com.CommandText = sqlSave;
            com.Parameters.Clear();
            com.Parameters.Add("@TID", SqlDbType.NVarChar).Value = CurrentTID;
            com.Parameters.Add("@ReplyNO", SqlDbType.NVarChar).Value = LastReplyNO;
            com.Parameters.Add("@Description", SqlDbType.NVarChar).Value = txtDescription.Text.Trim();
            com.Parameters.Add("@ReplyName", SqlDbType.NVarChar).Value = txtReplyName.Text.Trim();
            com.Parameters.Add("@ReplyDate", SqlDbType.DateTime).Value = DateTime.Now;
            com.Parameters.Add("@IP", SqlDbType.NVarChar).Value = Request.ServerVariables["REMOTE_ADDR"];
            com.ExecuteNonQuery();

            sb.Clear();
            sb.Append("UPDATE Topic");
            sb.Append(" SET ReplyCount=@ReplyCount");
            sb.Append(" WHERE (TID=@TID)");
            var sqlUpdate = sb.ToString();
            com.Parameters.Clear();
            com.Parameters.Add("@ReplyCount", SqlDbType.Int).Value = LastReplyNO;
            com.Parameters.Add("@TID", SqlDbType.NVarChar).Value = CurrentTID;
            com.CommandText = sqlUpdate;
            com.ExecuteNonQuery();

            Conn.Close();
            Response.Redirect("Default.aspx");
        }

        protected void cmdClear_Click(object sender, EventArgs e)
        {
            txtDescription.Text = "";
            txtReplyName.Text = "";
        }
    }
}





รบกวนช่วยดู code ให้หน่อยนะครับ ว่ามีข้อผิดพลาดตรงไหนหรือเปล่าครับ พยายามแล้วครับ ยังบันทึกลงฐานข้อมูลไม่ได้เลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-22 11:45:19 By : kittipoth
 


 

No. 4



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



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


Code
Server Error in '/' Application.
String or binary data would be truncated.
The statement has been terminated.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: String or binary data would be truncated.
The statement has been terminated.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[SqlException (0x80131904): String or binary data would be truncated.
The statement has been terminated.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +404
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +412
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1363
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +6312253
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +6313986
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +538
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +689
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +327
Webboard.Post.cmdSave_Click(Object sender, EventArgs e) in C:\Users\thaivb\Desktop\Chxx Webboard\Webboard\CS\Webboard\Post.aspx.cs:62
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +154
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3691


Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1




ข้อความที่ error ตอนตั้งกระทู้นะครับ


ประวัติการแก้ไข
2011-03-22 11:57:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-22 11:56:19 By : kittipoth
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : String or binary data would be truncated. ปัญหาการ post ในเว็บบอร์ดครับ แปลกมากๆ ใครเคยเจอปัญหานี้ช่วยแนะนำด้วยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 04
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 อัตราราคา คลิกที่นี่