MIT’s blog

個人的なメモかな

VB vs C#

以前コンバータがtryに未対応的な事を書きましたが、どうやらたまたまコンバートしようとしたソースでうまくtryが処理出来なかっただけで、未対応という事ではないようです。データベースへの登録処理まわりのソースをコンバートしてみたら普通に出来ました。まあ、ただ、Systerm.Data.SQLiteMicrosoft.Data.Sqliteの違いやら、諸々で苦労してます。まあね、名前見ただけでQとLが小文字になってたりする訳でSQLiteParameterがSqliteParameterだったりして、その修正が必要だったりします。

 

それ以外にはEncodingでも問題がありました。VBでは普通に使えていたのに

return Encoding.GetEncoding("Shift_JIS").GetBytes(myString);

エンコードするにはその前に

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

しないとエラーになったりしました。グーグル先生にお願いして解決してます。

 

コンバータ使っているので基本的なコネクト・トランザクション・パラメータ設定からのクエリ実行な処理手順が同じなのにエラーになる。後は言語の性質の違いからコーディング変更も必要だったり、先行き不安です。

 

System.Data.SQLiteが.NET6対応になれば、戻す事で少し楽に作業が進められるかもですが、このあたりの予定は不明なので、既に対応済みな別のラッパー探す必要もあるかもしれませんorz