SQLCE2.0 Windows Mobile 6 でエラー

VB.NET 2003で作成したスマートデバイスアプリケーションを、
HP iPAQ 112 Classic Handheld にインストールして、使用したところ、
SQL Server CE 2.0 のデータベースにインサートしようとしたところ、
エラーになってしまいました。

HP iPAQ 112 Classic Handheld のOSはMicrosoftR Windows MobileR 6 Classic 日本語版 です。
OSがWindows Mobile 5.0 for Pocket PCでは
大丈夫だったので大丈夫なのかと思ったら、なぜかエラーになってしまいます。
.NET Compact Frameworkのバージョンが違うためダメなのだと思われます。
VS.NET 2003 でデバッグすることも出来ず、悩んでいましたが問題点がわかりました。

インサートするためのSQL文で、
INSERT INTO TableName(数値, 文字列) VALUES (1, 'あ')
というように、文字列はアポストロフィで挟みますが、
INSERT INTO TableName(数値, 文字列) VALUES ('1', 'あ')
このように数値のフィールドもアポストロフィで挟んでいたのがいけなかったようです。
以前は間違えていても、問題にならなかったところがバージョンが変わると
引っかかってしまうことがあるので注意が必要です。

正確にプログラミングが出来ているのなら、たいていのソフトはWindows MobileR 6 でも動作しそうです。

SQL Server CE 2.0 テーブルを作成するときに、文字列のフィールドは、ntextというデータ形式にしますが、SQL Server Mobile Edition ではnvarcharにしなければならないそうです。
しかし、Windows Mobile 5.0で試してみたところ、SQL Server CE 2.0 でも、
ntextではなくて、nvarcharにしても動作します。
以前はエラーになったような気がしますが、細かいところが知らない間に変わるので、
苦労します。
posted by VB.NET+MSDE+ActiveReports at 18:05 | Comment(0) | TrackBack(0) | .NET CF
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのTrackBack URL
http://blog.sakura.ne.jp/tb/11892925