我正在尝试在SQL Server表中执行insert
以便在登录管理面板时进行审核。我想知道他们正在使用什么设备。我该怎么做?
这是我到目前为止所做的并且它不起作用它给了我一个错误,声明已被终止。
string sUA = Request.UserAgent;
using (SqlConnection sqlCon = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString))
{
using (SqlCommand sqlCmd1 = new SqlCommand { CommandText = "INSERT INTO dbo.audit ([user], [login], [pass], [timestamp], [device]) VALUES ('test', 'test', 'test', @time, @device)", Connection = sqlCon })
{
sqlCmd1.Parameters.AddWithValue("@time", DateTime.Now);
sqlCmd1.Parameters.AddWithValue("@device", sUA);
sqlCon.Open();
{
sqlCmd1.ExecuteNonQuery();
sqlCon.Close();
}
}
}
答案 0 :(得分:1)
System.Data.dll中出现“System.Data.SqlClient.SqlException”类型的异常但未在用户代码中处理附加信息:字符串或二进制数据将被截断。声明已经终止。
这意味着您尝试插入的数据对于一个或多个列来说太大了。
你必须增加任何列太小的大小(我怀疑它是你的设备列,但除非我们看到你的表结构和测试数据,否则我们无法判断)