私はエクセルシートを持っています。その Excel シートの特定のセルにクエリを記述し、C# コードからそのクエリを呼び出します。そのセルをstrParam1として宣言しました。したがって、strParam1 には、Excel シートに入力したクエリが含まれます。コードは次のとおりです。
public void UpdateDatabase(String strParam1, int row)
{
System.Data.OracleClient.OracleConnection conn = new System.Data.OracleClient.OracleConnection();
conn.ConnectionString = "Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.144)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)));UID=mwm;PWD=mwm";
try
{
conn.Open();
OracleCommand command = conn.CreateCommand();
command.CommandText = strParam1.Trim();
OracleDataReader reader = command.ExecuteReader();
command.Dispose();
}
catch (Exception ex)
{
ExcelRecorder(ex.Message, row);
}
finally
{
conn.Close();
}
}
ExecuteReader に到達すると、「無効な文字が見つかりました」という例外がスローされます。Excel シートに Select * from \"Task\"; と入力しました。Task はオラクルのキーワードであるため、上記のクエリを再構築しました。しかし、クエリは実行されていません。以下のコードを入力して実行すると、すべて問題ありません。
command.CommandText = "Select * from \"Task\"";
なにが問題ですか?私がしなければならない特別なフォーマットはありますか?また、エクセルシートからの読み込みも問題ありません。徹底的にテストしました。だから、それは私の例外を除いて何もしなければなりません.