2012-03-23 21 views
0

私はコードスニペットを見てきましたが、何が起こっているのか分かりません。接続、読み取り/操作、終了プロセスを理解する上での助けとなることは、評価される以上のものです。VB.NETローカルデータベース接続/データ抽出

これらのDataAdapter、Ole、Sql、およびSqlceについては、私はすべてのことを読んでいます。使用するかどうかはわかりません。

私はVB.NET 2010でdatabase.sdfというデータベースを作成しましたが、ローカルデータベースオプションを選択しました(これは関係がありますか?)。その後、列タイトルと主キーを持つデータ行をデータベースに移入しました。表には、多くの異なる列が含まれていますが、テスト目的のために、次のように関連している:

  • DB名:db_test
  • 表名:場所
  • 主キー列ヘッダー:CITY
  • 別のコラム:BOUND_Xこれら二つの細胞における
  • 情報:CITY - 「ブランズウィック」とBOUND_X - 5「」
  • (1)、「Iドンためあり、データの1行のみであるので、この 行(0)または行のいずれかであります.NETが.NETのために使用するものを知っている開始インデックス。

これは私がつなぎ合わせて何ですが、私はそれも正しい方向にだけではありません...もちろん

コードヘルプが驚異的になり、かなり確信しているが、誰もがこのプロセスを破るために喜んであれば英語でも、それは素晴らしい素晴らしいだろう。

Dim conn As SqlConnection = New SqlConnection("Data Source=G:\Programming\VB.NET\TEST\TEST\db_test.sdf") 

Dim ds As New db_test 
Dim sql As New SqlCommand("SELECT * FROM Locations WHERE CITY='Brunswick'") 

conn.Open() 

(I have no idea what this is actually referring to, I am just trying to read data with these commands below that seemed to pop up a lot in forums...) 
Dim sdr As SqlDataReader = sql.ExecuteReader 
While sdr.Read = True 
    MsgBox(sdr.Item("CITY") & " " & sdr.Item("BOUND_X")) 
End While 

sdr.Close() 

conn.Close() 

答えて

1

.NETのデータアクセスコードは、ADO.NETにグループ化されています。あなたはここに参考のために読むことができます:

http://msdn.microsoft.com/en-us/library/h43ks021(v=vs.100).aspx

コードについて:

  1. SqlConnectionオブジェクトが初期化されます。接続とは、データソースのデータにアクセスする手段です。あなたのソースは単一ファイルのデータベース(おそらくSQL CE)なので、ファイルへのパスで初期化されます。 SqlConnectionは、ほかのすべてのクラスでデータソースへのアクセスを取得するために使用されます。
  2. コマンドは、必要なデータを取得するために初期化されます。これは、ストアドプロシージャまたはSQLクエリの呼び出しです。データを取得する方法、取得するデータとその方法を示します。
  3. データソースへの接続が開きます。
  4. SqlDataReaderは、コマンドと接続に基づいてデータを読み取るためのメカニズムの1つです。データを転送するチャネルが開かれ、必要な操作が行われます(ポートのオープン、ハンドシェイク、ファイルのオープンなど)。コマンドは接続を行い(sql.Connection = connを設定する必要があります)、3つの異なる方法で実行できます。ExecuteReader() - dataReaderを返し、行をセットとして取得します。 ExecuteScalar() - 1行1列の結果( '5'など)を返すcount/avg/...のような統計的なSQLクエリを実行する - intを返します。 ExecuteNonQuery() - 結果を返さないクエリ(テーブルの作成や削除など)を実行します。
  5. したがって、dataReaderはファイルのStreamReaderに似ています。これは、セット全体の現在の行を指し示します。デフォルトの動作は、Read()を使用してdataReaderを反復し、すべてのdataRowをリスト<>などに保存することです。
  6. 接続を閉じて、使用するリソースを解放します。このようになります

もっと技術的に正しいコードをここに見つけることができる:

http://msdn.microsoft.com/en-us/library/dw70f090.aspx#Y533

関連する問題