我正在使用 StreamReader 将使用 SQLExplorer 创建的 .sql 文件导入到我的 .NET 程序中(最终将通过 OdbcConnection,仅供参考。)问题是,当我使用该ReadToEnd()
方法时,它不仅导入 SQL 本身,而且它导入所有格式。所以弦上到处都是\r
和\t
之类的东西。
我一直在研究使用拆分或可能的正则表达式来分解字符串并删除不需要的点点滴滴。但在投入大量精力之前,我想知道 StreamReader 类中是否缺少一些东西?有没有办法告诉它忽略格式化字符?
这是我现在拥有的代码:
public static Object SQLQueryFileCall(String SQLQueryFileName){
string SQLQuery = "";
string directory = System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().Location);
SQLQueryFileName = directory + "\\" + SQLQueryFileName;
//read in the file and pass to ODBC, return a Object[] of whatever comes back...
try{
using (StreamReader myStreamReader = new StreamReader(SQLQueryFileName)) {
SQLQuery = myStreamReader.ReadToEnd();
Console.WriteLine(SQLQuery);
}
}
catch (Exception e){
//Find the error
Console.WriteLine("File could not be read:");
string error = e.Message;
MessageBox.Show(error);
return null;
}
}
随意提供您对代码可能有的任何建议,因为我很新。
但是,是的,大多数情况下我只是希望 StreamReader 类中有一个我不理解的方法。我去了微软的在线文档,我觉得我已经很好地看了它,但话说回来,我是新人,也许这个概念跳过了我的脑海?
有什么帮助吗?
注意:\t
有些行的中间有多个,确实需要删除。因此,使用修剪会......至少会很棘手。