我试图在登录到管理面板时将insert
插入到SQL Server表中进行审计。我想知道他们使用的是什么设备。我将如何做到这一点?SQL Server:插入获取用户代理
这是我到目前为止,它不起作用,它给了我一个错误,该语句已被终止。
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();
}
}
}
您可以提供大小错误消息为什么语句终止? – Anton 2014-09-29 16:41:23
System.Data.dll中发生类型为“System.Data.SqlClient.SqlException”的异常,但未在用户代码中处理 附加信息:字符串或二进制数据将被截断。 该声明已被终止。 – 2014-09-29 16:42:01
检查你的列的长度 - 你试图插入的列是**太长了**你试图插入它的列!我的猜测是'[device]'列获取用户代理字符串 - 它在数据库中定义了多长时间?用户代理字符串要插入多长时间? – 2014-09-29 16:45:02