91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用C#無法訪問路徑如何解決

發布時間:2020-12-29 16:23:26 來源:億速云 閱讀:928 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關使用C#無法訪問路徑如何解決,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

用C#想寫一個直接將數據庫查詢得到的datatable,直接導出為csv格式的文件,拷貝到導出的操作類后,一直catch到的錯誤提示是對路徑的泛微被拒絕,一直排查原因,發現原來:FileStream(path, FileMode.OpenOrCreate,FileAccess.ReadWrite),path處所讀取的字符串必須包含文件名稱以及格式。現在貼完整代碼,以供幫助到像我一樣的初學者。

  private void button1_Click(object sender, EventArgs e)
    {
      System.IO.StreamReader st;

//由于我的查詢語句較長,采用了讀取txt文本的方式后做查詢操作。
      st = new System.IO.StreamReader(Application.StartupPath + "\\SQL2.txt", System.Text.Encoding.Default);
   
      string stingsql=st.ReadToEnd();
      st.Close();

      textBox1.Text = stingsql;
      DataTable dt = new DataTable();
      dt = bc.QueryCommand(stingsql);
   
      string filepath = @"F:\病案導出備份\患者統計表.csv";//此處必須為路徑加文件名稱,否則
      ImportToCSV(dt, filepath);
    }

    public static void ImportToCSV(DataTable dt, string filepath)
    {
      FileStream fs = null;
      StreamWriter sw = null;
      try
      {
        fs = new FileStream(filepath, FileMode.Create, FileAccess.Write);
        sw = new StreamWriter(fs, Encoding.Default);
        string head = "";
        //拼接列頭
        for (int cNum = 0; cNum < dt.Columns.Count; cNum++)
        {
          head += dt.Columns[cNum].ColumnName + ",";
        }
        //csv文件寫入列頭
        sw.WriteLine(head);
        string data = "";
        //csv寫入數據
        for (int i = 0; i < dt.Rows.Count; i++)
        {
          string data2 = string.Empty;
          //拼接行數據
          for (int cNum1 = 0; cNum1 < dt.Columns.Count; cNum1++)
          {
            data2 = data2 + "\"" + dt.Rows[i][dt.Columns[cNum1].ColumnName].ToString() + "\",";
          }
          bool flag = data != data2;
          if (flag)
          {
            sw.WriteLine(data2);
          }
          data = data2;

        }
        string msg = "數據被成功導出到:" + filepath;
        MessageBox.Show(msg);
      }
      catch (Exception ex)
      {
        // logger.Error("導出csv失敗!" + ex.Message);

        MessageBox.Show("導出失敗" + ex.Message);
        return;
      }
      finally
      {
        if (sw != null)
        {
          sw.Close();
        }
        if (fs != null)
        {
          fs.Close();
        }
        sw = null;
        fs = null;
      }
    }

示例2

問題代碼:

 private bool GetChannelInfo()
 {
      comCheckWindow.LoadCheckResult("準備加載項目通道信息", Color.FromName("Green"));
      XmlDocument proFile = new XmlDocument(); //讀取項目配置文件
      proFile.Load(proFilePath);
      XmlNodeList channelList = proFile.SelectSingleNode("Project").ChildNodes;
      if (channelList.Count == 0) return false;
      ......
      return true;
 }

在“proFile.Load(proFilePath)”語句處發生錯誤,提示對路徑…(proFilePath的值)的訪問被拒絕。

嘗試過將目標文件重新選擇路徑(從C盤轉移到D盤),或提升程序運行權限(在以管理員身份運行Visual Studio的情況下打開項目文件),均無效。

最后檢查程序時發現:路徑proFilePath的值不正確,運行“proFile.Load(proFilePath)”要求路徑proFilePath指向一個確定的XML文件,但此處路徑的值為該XML文件所在目錄的路徑,由于Load函數的參數指向對象類型不匹配,從而導致出錯。

上述就是小編為大家分享的使用C#無法訪問路徑如何解決了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

库伦旗| 恭城| 双辽市| 望都县| 乐业县| 宿松县| 潢川县| 林西县| 丹江口市| 沧州市| 遵义市| 江源县| 麻江县| 油尖旺区| 仁化县| 仪陇县| 德格县| 新闻| 乐平市| 景德镇市| 忻州市| 铅山县| 扶沟县| 鹤壁市| 平顶山市| 花垣县| 安溪县| 巴塘县| 墨脱县| 莫力| 雷山县| 息烽县| 清水河县| 大荔县| 湖口县| 蒲城县| 临城县| 崇州市| 如东县| 南木林县| 日照市|