我想在varbinary(MAX)
类型列中保存pdf文件,并在SQL Server中使用TableAdapter
。我写了这段代码来插入:
DataSet1TableAdapters.Table1TableAdapter tblpdf = new DataSet1TableAdapters.Table1TableAdapter();
byte[] b = System.IO.File.ReadAllBytes(pdfDocument1.FilePath);
tblpdf.InsertQuery(b);
并且它可以正常工作,但我在从二进制列中检索PDF时遇到问题。我使用这段代码:
byte[] c= (byte[]) table1TableAdapter.ScalarQuery(txtSearch.Text); //with txtsearch box i search a field
System.IO.File.WriteAllBytes(pdfDocument1.FilePath, c);
我收到错误
路径不能为空
我认为这意味着我的“c”变量为空且ScalarQuery
无效。
请帮帮我
答案 0 :(得分:0)
@MarcB:是的,你是对的,我改变了这一行:
System.IO.File.WriteAllBytes(pdfDocument1.FilePath,c);
到这一个:
System.IO.File.WriteAllBytes(@“D:\ serah.pdf”,c);
它正常工作。
但现在问题是如何使用“WriteAllBytes”将c写入代码中的变量,实际上我想做这样的事情:
System.IO.File.WriteAllBytes(ff,c);
pdfDocument1.FilePath = ff;