Vb 6.0 SQL Severへの接続


vb+SQLはログインインタフェースを作成し、「オブジェクト変数またはWithブロック変数が設定されていない」というタイムズを実行し、ポイントデバッグ後にレコードセットに値を割り当てることに成功しなかったことを発見し、最後にデータベースが接続されていないことを発見しました.
VBは、ADO接続SQL Severデータベースによって、DSN(データソース名)が使用されているかどうかを区別して、アクティブ・データベース接続とアクティブ・データベース接続に分けることができます.
1.受動データベース接続
アクティブ・データベース接続とは、データ・ソースが不要なわけではありません.データ・ソースがなければ接続は何ですか.ただ,受動データベース接続はODBCデータソースを構成する必要がなく,ADOを利用してコードを介して接続を実現できる.
パッシブ・データベース接続の実装には、vb 6.0でMicrosoft ActiveX Data Object 2.6 libraryとMicrosoft ActiveX Data Object Recordset 3.6 Libraryの2つのコンポーネントを参照し、connectionオブジェクトのconnectionstringプロパティを使用して接続する必要があります.
簡単なログインシステムを例にとると、まずsql severデータベースにstudentという名前のデータベースを構築します.vbコードは以下の通りです.
Option Explicit
Public LoginSucceeded As Boolean
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Private Sub cmdCancel_Click()
LoginSucceeded = False
Me.Hide
End Sub
Private Sub cmdOK_Click()
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
'         
conn.ConnectionString="driver={sql server};server=.;uid=sa;pwd=;Database=student"
conn.ConnectionTimeout = 50
conn.Open
Dim str As String
Set rs.ActiveConnection = conn
rs.CursorType = adOpenDynamic
If Trim(txtUserName.Text = "") Then
MsgBox "       ,        !", vbOKOnly + vbExclamation, "  "
txtUserName.SetFocus
Else
str = "select * from login_user where name ='" & Trim(txtUserName.Text) & "'"
rs.Open str
If rs.EOF = True Then
MsgBox "      ,        !", vbOKOnly + vbExclamation, "  "
txtUserName.SetFocus
Else
'    ,     
If (Trim(txtPassword.Text) = Trim(rs.Fields("password"))) Then
LoginSucceeded = True
Me.Hide
main.Show
Else
MsgBox "     ,      !", , "  "
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If
End If
End If
End Sub

ここでserver=.;パラメータはローカルサーバにアクセスするために使用され、server=(local)と書くこともできます.またはserverをコストベースのサーバ名に設定します(一般的にはコンピュータ名で、sql serverサーバにログインして表示できます).uid=sa;pwd=;セキュリティログインに使用するログイン名と必要なパスワードを指定し、saログイン名でログインすると、sql serverのオブジェクトリソースマネージャのセキュリティであるログイン名saを右クリックしてパスワードが必要かどうかを設定し、pwdの値が設定したパスワードと一致するかどうかを決定できます.Database=student;アクセスするデータベース名を設定します.
2.アクティブなデータベース接続
ODBCデータソースは、次の3つに分類されます.
(1)ユーザDSN:データソースを作成したユーザのみが独自に作成したデータソースを使用でき、現在のコンピュータでのみ使用できる.
(2)システムDSN:あなたのコンピュータを使用するユーザーやプログラムが使用できるDSN.
(3)ファイルDSN:システムDSNの機能に加えて、他のユーザによって他のコンピュータで使用される.
ODBCデータソースを作成するには
(1)コントロールパネルを起動する.
(2)ODBCアイコンをダブルクリックし、ODBCデータソースを起動する.
(3)「ユーザーDSN」タブに切り替え、「追加」をクリックします.SQLServerをデータ・ソースのドライバとして選択します.
(4)データソースに名前を付け,ヒント操作によりODBCデータソースを作成する.
アクティブ・データベース接続の作成
データ・ソースの作成は、アクティブ・データベース接続の最初のステップです.次に、ADOオブジェクト・モデルの主要要素Connection(接続)を使用してソース・データベース接続を行います.ConnectionStringはConnectionオブジェクトの属性名であり、Database、DSN、UIDなど、データプロバイダまたはサービスプロバイダがデータソースへの接続を開くために必要な特定の情報を提供します.
(1)データベース:サーバ上のデータベース名を指定する文字列式.
(2)UID:文字列式、ODBCデータソースのユーザーID(ユーザーアカウント名)を指定します.
(3)PWD:文字列式、ODBCデータソースのユーザーパスワードを指定します.
(4)DSN:文字列式、接続するODBCデータソース名を指定します.
構成されたODBCデータソースを使用して接続します.依然としてログインシステムの構築を例にとると、まずODBCデータソース名studを作成し、ADOを介してデータベースstudentに接続し、vbコードはconnectionオブジェクトのconnectionstring属性のパラメータを以下の変更だけでよい.
conn.ConnectionString="DSN=stu;uid=sa;pwd=; Database=student"