我試圖在登錄到管理面板時將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