我有一個錯誤,我無法修復...我真的不知道爲什麼。我正在使用此代碼tu上傳一個文件在我的數據庫中,我想現在使用BLOB。BLOB,插入SQL數據庫
if (FileUpload1.HasFile)
try
{
//FileUpload1.SaveAs("C:\\inetpub\\wwwroot\\ClientPortalCs\\"
//+ GetTheCurrentDirectory(MyTreeView.SelectedNode)
//+ "\\" + FileUpload1.FileName);
//LabelFile.Text = "File name: " +
//FileUpload1.PostedFile.FileName + "<br>" +
//FileUpload1.PostedFile.ContentLength + " kb<br>" +
//"Content type: " + FileUpload1.PostedFile.ContentType;
dbConnection.Open();
dynamic queryString = ("INSERT INTO Files (Name,Path,UserUpload,Date,Data) VALUES ('"
+ FileUpload1.FileName + "','" + GetTheCurrentDirectory(MyTreeView.SelectedNode) + "','" + Request.Cookies["UserSettings"]["UserName"] + "','" + DateTime.Now + "','" + FileUpload1.FileBytes + "');"
+ "SELECT CAST(scope_identity() AS int)");
SqlCommand theCommand1 = new SqlCommand(queryString, dbConnection);
int newFid = (Int32)theCommand1.ExecuteScalar();
dynamic queryStringFolder = ("INSERT INTO FILES_FOLDERS (Folder_Id,File_Id) VALUES ('"
+ MyTreeView.SelectedValue + "'," + "'" + newFid + "')");
theCommand1 = new SqlCommand(queryStringFolder, dbConnection);
theCommand1.ExecuteNonQuery();
dbConnection.Close();
}
在我的數據庫中,表格文件中的字段DATA是一個varbinary(max)。 查詢中的DATA字段參數是我嘗試上傳的文件的字節數。
的出錯是: 「從數據類型爲varchar到VARBINARY(最大值)錯誤隱式轉換是不允許使用CONVERT函數來運行此查詢。」
有人能告訴我爲什麼嗎?
非常感謝。
這樣的代碼只是乞討[SQL注入攻擊(http://xkcd.com/327/)。請使用參數化查詢。 – GvS