私は、ユーザーが MS Access テーブルを選択して、それを特定の宛先の .csv ファイルにエクスポートできるようにするプログラムに取り組んでいます。問題は、選択したテーブルに sql 特殊文字が含まれているとエラーが発生することです。
このトピックについていくつかの調査を行いましたが、パラメーターを使用する必要があることは理解していますが、実際に使用する方法がわかりません。これが私のコードサンプルです:
string destination = Form2.destination;
string selectString = "SELECT * FROM " + tablename;
string path = destination + "\\" + tablename + ".csv";
File.Create(path).Dispose();
TextWriter tw = new StreamWriter(path);
OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txtDataPath.Text);
connection.Open();
DataSet myDataSet = new DataSet();
OleDbCommand command = new OleDbCommand(selectString,connection);
OleDbDataAdapter adapter = new OleDbDataAdapter(command.CommandText,connection);
adapter.Fill(myDataSet, tablename);
これまでのところ、特殊文字を含まないテーブル名が選択された場合、csv ファイルが作成されて見栄えがよくなりますが、「-」のようなものが含まれている場合、私のプログラムは「FROM 句の構文エラー」を生成します。特殊文字のためです。
私がこれまでに見た例のどれも、私がやろうとしていることで具体的に機能するとは思わないので、誰かが私を助けてくれることを願っています. ありがとう。