IronPython で MDB ファイルにアクセス [DotNET]
OleDB Provider を使って、MDB ファイルにアクセスしてみた。
基本的に SQLServer ↓と同じような感じ
http://blog.so-net.ne.jp/nakagami/2006-11-08
API を SqlXXXXX → OleDbXXXX に読み替えれば良い。
Firebird .NET Provider ならこんな感じ
http://blog.so-net.ne.jp/nakagami/2006-04-09
API を FbXXXXX → OleDbXXXX に読み替えれば良い。
clr.AddReference("System.Data") from System.Data.OleDb import * conn = OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=foo.mdb") conn.Open() dr = OleDbCommand("select * from bar") for r in dr: print r['COL_A'], r['COL_B'], r['COL_C'] sql = "insert into FOO (COL_B, COL_C) values (@B, @C)" cmd = OleDbCommand(sql, conn) cmd.Parameters.Add(OleDbParameter('@B', 'Bob')) cmd.Parameters.Add(OleDbParameter('@C', 12345)) cmd.ExecuteNonQuery() auto_number_id = OleDbCommand("select @@IDENTITY", conn).ExecuteScalar() print auto_number_id conn.Close()
insert した直後に select @@IDENTITY すると、オートナンバーの値が取ってこれる。
Note というフィールドを作って、そこに INSERT しようとしてエラーになってはまった。Access 的には、Note というフィールドを作ることはできるけど、SQL エンジン的にはダメみたい。
コメント 0