我正在創建一個數據庫(與VS精靈),其中包含2列:標識,FDATA ;; fData類型是nvarchar(MAX)。 ,然後我將文件插入使用此命令:後會失去C#的SQL數據複製它們
public void InsertToDB()
{
byte[] data = File.ReadAllBytes(barcodeEXE); //this is an exe file
string base64 = Convert.ToBase64String(data);
mytbl3TableAdapter.Insert(1, base64);
mytbl3TableAdapter.Fill(mydb3DataSet.mytbl3);
//FILE ADDED !
}
現在所有的事情是確定的(文件加入到與base64string格式的數據庫,我們並不需要使用這些命令再次插入文件)問題是在這裏:我會從數據庫中的數據複製到其他文件夾,用以下命令:
public void CopyFromDB()
{
con = new SqlConnection();
con.ConnectionString = CnString;
con.Open(); //start
SqlCommand cmd = new SqlCommand("SELECT fData FROM [mytbl3] WHERE Id=1", con);
using (SqlDataReader d = cmd.ExecuteReader())
{
string base64;
base64 = ((string)mydb3DataSet.Tables[0].Rows[0]["fData"]);
byte[] base64byte = Convert.FromBase64String(base64);
mytbl3TableAdapter.Update(mydb3DataSet.mytbl3);
mytbl3TableAdapter.Fill(mydb3DataSet.mytbl3);
SaveFileDialog ofd = new SaveFileDialog(); ofd.Filter = "exe file|*.exe";
if (ofd.ShowDialog() == DialogResult.OK)
{
File.WriteAllBytes(ofd.FileName, base64byte);
System.Threading.Thread.Sleep(3000);
d.Close();
//
}
d.Close();
}
//end
con.Close();
}
文件將成功複製,但數據從數據庫中刪除!
這不是從數據庫複製數據,你只是獲取數據和什麼都沒有.. –
https://開頭MSDN。 microsoft.com/en-us/library/6ka1wd3w(v=vs.110).aspx –
@reds沒有它的作品。我可以發送exe文件給你。問題是數據將從數據庫中刪除。它就像過去一樣! – FREEMAN