我試圖插入值,以我的表包含VARBINARY(MAX),並將該文件我嘗試插入爲byte []插入SQL Server中的文件爲varbinary(MAX)2008
public DataTable add1(string docName , byte[] doc)
{
DBAdaptor db = new DBAdaptor();
string query = "INSERT INTO [Document] (DocumentName, DocumentData) OUTPUT inserted.DocumentID VALUES (N'" + docName + "' , " + doc + ")";
return db.QueryRide(query);
}
並且我得到以下例外:
對象或列名缺失或爲空。對於SELECT INTO 語句,請確認每列都有一個名稱。對於其他語句,請查看 以獲取空白別名。別名定義爲「」或[]是不允許的。 將別名更改爲有效的名稱。
''附近的語法不正確。
這裏是執行我的查詢功能:
public DataTable QueryRide(string query)
{
DataTable dt = new DataTable();
string conStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection con = new SqlConnection(conStr);
SqlCommand cmd = new SqlCommand(query, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
try
{
con.Open();
da.Fill(dt);
}
catch (Exception)
{
throw;
}
finally
{
if (con.State == ConnectionState.Open)
con.Close();
}
return dt;
}
我怎麼可以插入這個字節[]我的表?感謝
的可能重複[SQL:順序上做varbinary列UPDATE .WRITE(http://stackoverflow.com/questions/1942609/sql-sequentially-doing-update- write-on-varbinary-column) – bzlm
您應該**總是**使用**參數化查詢**而不是將您的SQL語句連接在一起!否則,你處於SQL注入攻擊的高風險.... –