C〓〓〓の経路…に対する訪問は解決過程を拒絶されます。


Cで直接データベースを検索して得られたdatableを書きたいです。直接csv形式のファイルをエクスポートし、エクスポートした操作類にコピーした後、ずっとcatchからのエラーメッセージは経路のマイクロが拒否されています。原因を調べてみたら、FileSteream(path、FileMode.OpenCreate、FileAccess.Readrite)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」文でエラーが発生し、パス・・・へのアクセスを提示することが拒否されました。
ターゲットファイルの再選択経路(CディスクからDディスクに移行)を試したり、プログラムの実行権限(管理者としてVisual Studioを実行した場合はプロジェクトファイルを開く)をアップグレードしたりしましたが、いずれも無効です。
最後にプログラムを確認したところ、経路profilePathの値が正しくなく、「profile.Load(profilePath)」を実行するには、経路profilePathが特定のXMLファイルを指すことが要求されますが、ここでのパスの値はXMLファイルの所在ディレクトリのパスであり、Load関数のパラメータが対象タイプに合致しないため、エラーが発生します。
ここで、Cの経路について詳しく説明します。・・・の訪問は解決過程を拒否されたという文章はここまで紹介されました。Cのルートのアクセスは拒否されました。以前の文章を検索してください。また、下記の関連記事を引き続きご覧ください。これからもよろしくお願いします。