【发布时间】:2018-12-28 06:13:21
【问题描述】:
我正在尝试将 PDF 文件保存到我的数据库表中,有什么合适的方法可以做到这一点。我正在使用 C++/CLI。
我在下面尝试了这段代码,但得到的是 System.byte[] 而不是实际值
FileStream^ fs = gcnew FileStream("E:\\test.pdf",FileMode::Open,FileAccess::Read);
BinaryReader^ br=gcnew BinaryReader(fs);
cli::array<System::Byte>^ Mybuffer=gcnew cli::array<System::Byte>(fs->Length);
Mybuffer =br->ReadBytes(Convert::ToInt32(fs->Length));
SqlCommand^ cmd = gcnew SqlCommand
("Insert Into Employees(empName,branchGuid,cvFile) values ('" + textBox1->Text + "',(select branchGuid from Branches where branchName='" + branchesComboBox->SelectedValue->ToString() + "')," + Mybuffer +");", conn);
SqlDataAdapter^ sda = gcnew SqlDataAdapter(cmd);
DataSet^ ds = gcnew DataSet();
sda->Fill(ds, "insert");
【问题讨论】:
-
那不是 C++,而是一种叫做 C++/CLI 的方言。
-
你有一个 SQL 注入漏洞。请使用SqlCommand的Parameters属性或相关技术来避免。
标签: c++-cli