1

私はまだ大学に通っている友人の宿題を手伝っていました。このクラスでは、VB.NETとADO.NETを教えています(もちろん、実際には不十分です)。私は、仕事でサポートしているレガシーアプリケーションを介したADO.NETの簡単な経験しかありません。

彼女が実装しようとしていたページは非常に単純でした。入力を含むフォームとusernameボタンpasswordですsubmit。機能上の問題がいくつかありましたが、コードを調べていると、何か奇妙なことに気づきました。これは、接続を設定するために彼女がページの上部で使用したコードです

Public Shared Con As New SqlConnection("Data Source = asdfa; Initial Catalog= asdf; Persist Security Info = True; User ID= dfasdf; Password = asdf")
Public Shared strSQLStatement As String
Public Shared strSQLStatementCmd As String
Public Shared daActivity As New SqlDataAdapter(strSQLStatement, Con)
Public Shared dsActivity As New DataSet

思った通りの音は何も見えませんでしたcon.open()。私の知る限り、ADO.NETでは、最初に接続を確立するためにこのようなコマンドが必要です。私はこれについて彼女に質問しました、そして彼女はopen()彼女が完全な信用を得た彼女の他の宿題のいずれかで接続を確立するためにコマンドを使用したことがないと言いました。このコードには、自動的に接続を開くものがありますか?

たぶん、ADO.NETについての私の理解は解釈されます。私が間違っている場合は訂正してください。ただし、この言語はデータベースへの接続に純粋に使用されており、この方法で行われます。

Set up connection string
Open connection
Create sql strings, such as command = "select * from table1"
Tell the open connection to run that sql
Close Connection

それは正しいと思いますか?私が彼女を助けるのを手伝ってください。

ありがとう

4

2 に答える 2

3

SqlDataAdapter自動的に接続を開いたり閉じたりします。

Fillメソッドは、関連するSelectCommandプロパティで指定されたSELECTステートメントを使用して、データソースから行を取得します。SELECTステートメントに関連付けられている接続オブジェクトは有効である必要があります が、開いている必要はありません。Fillが呼び出される前に接続が閉じられると、データを取得するために接続が開かれ、次に閉じられます。フィルが呼び出される前に接続が開いている場合、接続は開いたままになります。

http://msdn.microsoft.com/en-us/library/905keexk.aspx

于 2012-12-05T16:54:30.820 に答える
0

Dim MovingDA As New OleDbDataAdapter(sqlbyworknum、myConnection)MovingDA.Fill(MovingDT)

DAの宣言でnewを使用し、SQLを渡すだけで、接続が開かれ、実行されます。

于 2012-12-06T11:12:50.707 に答える