C# SQL Server:字符串或二进制将被截断ASP.NET
因此,我一直在开发一个允许用户提交内容的页面,页面上的所有内容似乎都可以正常工作,但在与SQL server通信时,会不断抛出错误。C# SQL Server:字符串或二进制将被截断ASP.NET,c#,asp.net,sql-server,C#,Asp.net,Sql Server,因此,我一直在开发一个允许用户提交内容的页面,页面上的所有内容似乎都可以正常工作,但在与SQL server通信时,会不断抛出错误。 错误表示进程已终止,因为字符串或二进制文件将被截断。 以下是我用来处理与服务器通信的代码 using (SqlConnection connection = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=""C:\Users\Will\Documents\Visua
错误表示进程已终止,因为字符串或二进制文件将被截断。
以下是我用来处理与服务器通信的代码
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();
}
试图在大于指定列最大大小的列中插入值时会导致此问题
请参见文本列的长度比插入的文本短。您的表方案是什么?我认为您应该将content和description columns length设置为maxtry放置断点,并检查哪些值高于您在
SQL表中定义的范围。还可以尝试从SQL插入数据,并检查它是否正确插入,或者在哪个列显示的值超过预期值。