SQLExplorer で作成した .sql ファイルを、StreamReader を使用して .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 クラスに私が理解していないメソッドがあることを望んでいます。私は Microsoft のオンライン ドキュメントにアクセスして、見栄えがよくなったと感じていますが、もう一度言いますが、私は初心者であり、おそらく概念が私の頭を飛び越えましたか?
何か助けはありますか?
注:\t
一部の行の途中に複数あり、削除する必要があります。したがって、トリムを使用するのは...少なくとも注意が必要です。