【问题标题】:Type casting mismatch issue in file.WriteAllLinesfile.WriteAllLines 中的类型转换不匹配问题
【发布时间】:2016-05-10 18:52:26
【问题描述】:

场景是从数据库中读取数据并附加2个字符串并传递给file.WriteAllLine方法

我想连接string connecString + dc[j] + "INQ;",因为我已将这些放入list<string>,但出现错误。 而 file.WriteAllLines 方法只接受字符串数组不接受简单数组。 在此先感谢

我的代码

public void ComapnySelection_FromDB(string conncString) {

  try {

    Console.WriteLine("-------------------- -------------------- ");

    String que = "select ConsumerNo from " + conncString + "";
    List < string > dc = ConnectToData(que);
    Console.WriteLine("ConsumerNo in DB: " + dc[0]);
    for (int j = 0; j < dc.Count; j++) {
      List<string> combine = conncString + dc[j] + "INQ;";
      Console.WriteLine("Module Name from DB: " + dc[j]);
      File.WriteAllLines(path, dc);

    }
  } catch (Exception) {
    Console.WriteLine("ERROR!");

  }

}

【问题讨论】:

  • 您发布的代码毫无意义。顺便说一句,你得到什么错误?
  • 我在类型转换中遇到错误,就像我想在 File.WriteAllLines 中传递一个连接的字符串,例如在上面的代码中,使用了两个变量 connString 和 dc[j]。第三个我想附加“INQ;”之后我想连接这三个字符串,例如 List combine = conncString + dc[j] + "INQ;";并通过 File.WriteAllLines(path combani);

标签: c# database string-concatenation


【解决方案1】:

也许File.WriteAllText:

for (int j = 0; j < dc.Count; j++) {
  var combine = conncString + dc[j] + "INQ;";
  Console.WriteLine("Module Name from DB: " + dc[j]);
  File.WriteAllText(path, combine);

}

【讨论】:

  • 但它一次只打印一条记录而不是整条记录。
  • @NeelGurbani 使用 AppendText
  • 我想在追加的情况下每次清理文件都会失败:)
  • @NeelGurbani 所以,我不明白,为什么我的第一个解决方案不正确
  • 当我使用追加而不是 writealltext 时。它的作用是一次又一次地写入,而不是覆盖内容,例如如果我使用 WriteAlltext 运行程序,它将覆盖相同的内容,如果我使用 AppenAllTextr 运行程序,它将附加相同的内容,但仍然无法从 MSDN 中读取:写入所有文本:创建一个新文件,将指定的字符串写入文件,然后关闭文件。如果目标文件已存在,则将其覆盖。附加所有文本:打开文件,将指定的字符串附加到文件,然后关闭文件。如果文件不存在,......
猜你喜欢
  • 1970-01-01
  • 2023-04-10
  • 2020-07-28
  • 1970-01-01
  • 2010-10-07
  • 1970-01-01
  • 2021-06-05
  • 1970-01-01
  • 2011-07-26
相关资源
最近更新 更多