2015-07-20 119 views
-1

因此,我一直致力于在页面上允许用户提交内容,并且页面上的所有内容似乎都可以工作,但是当涉及到与SQL服务器的通信时,错误一直在抛出。
错误提示该进程已被终止,因为字符串或二进制文件将被截断。

The error I am receiving.SQL Server:字符串或二进制文件将被截断ASP.NET


这是我用来处理与服务器通信的代码。

using (SqlConnection connection = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=""C:\Users\Will\Documents\Visual Studio 2015\WebSites\inshort\App_Data\ASPNETDB.MDF"";Integrated Security=True")) 
      { 
       SqlCommand cmd = new SqlCommand("INSERT INTO aspnet_newscontent (author, username, date, category, content, description) VALUES (@author, @username, @date, @category, @content, @description)"); 
       cmd.CommandType = System.Data.CommandType.Text; 
       cmd.Connection = connection; 
       if (nameInput.Text != "") 
       { 
        cmd.Parameters.AddWithValue("@author", nameInput.Text); 
       } 
       else if (nameInput.Text == "") 
       { 
        cmd.Parameters.AddWithValue("@author", "Anonymous"); 
       } 
       cmd.Parameters.AddWithValue("@username", userId); 
       cmd.Parameters.AddWithValue("@date", DateTime.Today); 
       cmd.Parameters.AddWithValue("@category", categoryId); 
       cmd.Parameters.AddWithValue("@content", content.Text); 
       cmd.Parameters.AddWithValue("@description", description.Text); 
       connection.Open(); 
       cmd.ExecuteNonQuery(); 
      } 
+0

您的文本列的长度比您要插入的文本短。你的桌子方案是什么? – Dai

+0

我认为你应该设置内容和描述列的长度为最大 –

+0

尝试放置一个断点并检查你所放置的值高于你在'SQL表中定义的范围。也可以尝试从SQL插入数据并检查它是否正确插入,或者在_which_列中显示的值超过期望值。 – BNN

回答

1

当尝试在大于指定列的最大大小的列中插入值时,会导致此问题。

请参阅this

相关问题