0

MSDN フォーラムで Kevin Gadd によって開始された Xbox 360 の SQLite 実装を見つけましたが、それは彼が使用した Google C#-SQLite 実装 DLL でした。API がどのように機能するかを知りたいだけです。元の Web サイトで c# に移植された場所です: http://code.google.com/p/csharp-sqlite/には API の変更方法が記載されていませんが、ほとんどの基本的なコマンド、または少なくともいくつかのコメント/説明から得たものです。

上記の DLL は Xbox 360 XNA で動作します。私の主な目標は、これでどこに行くのかを簡単に確認できるようにすることです。

  1. テストとして、Xbox 360 で 2 ~ 3 個のテーブルを使用して単純なデータベースを作成します (おそらく Windows で、データベースをコンテンツ セクションに配置して、残りのゲームと共に Xbox 360 にデプロイします)。
  2. おそらく挿入または更新を使用して、テストシナリオでこれらのテーブルにデータを送信しますが、.NETのMySQLやMS-SQLなどのSQLiteコマンドはわかりません。
  3. ガベージコレクションを行う

他のすべてを無視して上記の3つのことだけを実行できる場合でも、#1 +#2(基本的なSQLiteスキル)を実行できる場合は、#3を手伝ってくれる誰かを見つけるでしょう。その後、残りの作業を誰かに手伝ってもらうことができました。

C# で SQLite を使用する方法を学ぶことを心配しています。コードでプログラミングするときに誰かが SQl Server と SQLite の違いを教えてくれますか?心配すべき制限は私の唯一の大きな質問です。編集:jsutは1 + 2を実行したいのですが、残りは気にしません。

4

2 に答える 2

0

ここでの大きな問題は、Xboxのアプリケーションインストールフォルダーに書き込めないことです。保存システムを使用する必要があります。sqlitedbファイルを作成時に新しい保存にコピーできます。

長時間接続を開いたままにするのは避け、データのシリアル化/逆シリアル化に使用します。通常のxmlシリアル化を使用するだけで、おそらく頭痛の種は少なくなります。http://msdn.microsoft.com/en-us/library/system.xml.serialization.aspxを参照てください。実際には、実行しようとしていることを実行する方が簡単です。 。

カスタムバイナリ形式はもっと小さくする必要がありますが、それはもっと複雑です。xml=>xnbシリアル化でコンテンツシリアライザーがどのように機能するかを調べます。

于 2012-07-08T19:02:39.830 に答える
0

Xbox 360 が実際に SQLite をサポートするかどうかはわかりません。Windows 以外で XNA ゲーム プロジェクトに SQL を使用することさえ想定されていないと思います。それらは、そのための組み込みのメモリ管理と XML パーサーを提供します。

SQLite データベースにアタッチする方法については、SQLite DLL をプロジェクト参照に含める必要があります。

その後、以下を using ステートメントに追加します。

using System.Data;
using System.Data.SQLite;
using System.IO;

データベースにリンクしてデータをクエリしたり、SQL コマンドを発行したりするには、次を使用します。

SQLiteConnection sqlCon = new SQLiteConnection("Data Source=<pathtodbfile>;Version=3;New=True;Compress=False;");

sqlCon.Open();
SQLiteCommand cmd = sqlCon.CreateCommand();

SQLiteDataAdapter db = new SQLiteDataAdapter("<your SQL Query Here>", sqlCon);

DataSet ds = new DataSet();
ds.Reset();

db.Fill(ds);

その後、ロードしたデータにアクセスできます。

ds.Tables[0]; <-- データ セットには多くのテーブルを格納できますが、クエリの場合、クエリされたデータのテーブルが最初のインデックスに読み込まれます。これがds.Reset()、データセットをどこかで再利用することを決定する可能性があるため、私が行った理由です。

これは、Windows の C# で機能します。すべての参照と using ステートメントが正しく行われている場合、これは XNA プロジェクトでも機能するはずです。

前に言ったように、これが Xbox 360 マシンで動作するかどうかはわかりません。

于 2012-06-19T20:24:57.530 に答える