public void SetConnection(string text1, string text2, string text3, string text4, string text5, string text6, string text7)
{
connectionString1 = "Initial Catalog=testdb; Data Source=work\\sqlexpress";
database = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:\\Users\\test.xls';Extended Properties= \"Excel 8.0;HDR=Yes;IMEX=1\";");
database.Open();
database1 = new OleDbConnection("Provider=SQLOLEDB.1;" + connectionString1);
database1.Open();
}
data1 = DataAccess.DatabaseTables("SELECT * from [Sheet1$])", DataAccess.database);
public DataTable DatabaseTables(string QueryString, OleDbConnection DataConnection)
{
OleDbCommand SQLQuery = new OleDbCommand();
DataTable data = null;
SQLQuery.Connection = null;
OleDbDataAdapter dataAdapter = null;
SQLQuery.CommandText = QueryString;
SQLQuery.Connection = DataConnection;
data = new DataTable();
dataAdapter = new OleDbDataAdapter(SQLQuery);
dataAdapter.Fill(data);
return data;
}
data1 で始まるコード行で例外「from 句の構文エラー」が発生します。この行は、この例外を生成するその下の関数 DatabaseTables を呼び出します。fn SetConnection には、jet などを使用する接続文字列も含めました。問題は接続文字列自体にあると思います。現在、「復号化できませんでした」というエラーを防ぐために、Excel ファイルを開いたままにしておく必要があります。ACE ドライバーを試してみましたが、エラーが発生しました。Excel ブックは 97-03 ブックとして保存されます。