-1
因此,我一直致力于在页面上允许用户提交内容,并且页面上的所有内容似乎都可以工作,但是当涉及到与SQL服务器的通信时,错误一直在抛出。
错误提示该进程已被终止,因为字符串或二进制文件将被截断。
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();
}
您的文本列的长度比您要插入的文本短。你的桌子方案是什么? – Dai
我认为你应该设置内容和描述列的长度为最大 –
尝试放置一个断点并检查你所放置的值高于你在'SQL表中定义的范围。也可以尝试从SQL插入数据并检查它是否正确插入,或者在_which_列中显示的值超过期望值。 – BNN