2015-01-20 128 views
-2

我有一些任務。我必須實現一個文本編輯器,可以將文件保存到/從ms訪問數據庫中下載,但我不知道該怎麼做。 有我的嘗試(它不工作,只保存文件)。我知道,這是愚蠢的,但..如何將* .dat(或* .txt)文件插入到C上的MS Access數據庫中#

OleDbCommand cmd = new OleDbCommand(); 

    OleDbConnection cn = new OleDbConnection(
      @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=..\..\Database1.accdb;Persist Security Info=True"); 

    private void Button_Click_2(object sender, RoutedEventArgs e) 
    { 
      if(textBox1.Text != null) 
      { 
       FileInfo file = new FileInfo(textBox1.Text.ToString() + ".dat"); 
       using (BinaryWriter bw = new BinaryWriter(file.OpenWrite())) 
       { 
        string text = textBox2.Text.ToString(); 
        bw.Write(text); 

        try 
        { 
         cn.Open(); 
         cmd.CommandText = "INSERT INTO info (files.FileData) values (@file)"; 
         cmd.Parameters.Add("@file", file); 
         cmd.ExecuteNonQuery(); 
         cn.Close(); 
        } 
        catch (Exception ex) 
        { 
         cn.Close(); 
         MessageBox.Show(ex.Message.ToString()); 
        } 

        textBox1.Text = null; 
        textBox2.Text = null; 
       } 

      } 
    } 

有沒有什麼辦法可以直接上傳文件到數據庫?

+0

你能更清楚哪裏出了問題,你的問題是什麼? – BradleyDotNET 2015-01-20 23:57:24

+0

我無法將文件插入數據庫。我的代碼是錯誤的。我認爲這行不正確cmd.Parameters.Add(「@ file」,file); – 2015-01-21 00:16:09

+0

那麼你想要放入數據庫?所有的文字?二進制?你不能只是「把一個文件」放在數據庫中 – BradleyDotNET 2015-01-21 00:21:33

回答

0

如果像您的意見對問題的建議,你正在尋找的文件存儲在Access數據庫中的Attachment場則有C#代碼,在另一個問題在這裏:

Storing an image into an Attachment field in an Access database

備註:

  1. 將文件附加到數據庫記錄不能用SQL完成。您需要使用ACE DAO(如上面引用的文章所述)。

  2. 某些文件類型被阻止附件字段。 Microsoft支持文章here中有這些文件類型的列表。

相關問題