0

例では、次のような文字列があります。

[oledb] ; この行以降はすべて OLE DB initstring Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=BMC;Data Source=です。

vb 2005 で部分文字列のみのパスワードとユーザー ID が必要です。

どうやってするか ?

必要な結果: Password=123456 and User ID=sa.

4

3 に答える 3

0

以下のようにしてみてください、それはあなたを助けるでしょう...

次に使用するSQL接続の場合SQLClient、以下のように試してください...

Imports System.Data.SqlClient

    Dim constring As String
    constring = "Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=BMC;Data Source="
    Dim builder As New SqlConnectionStringBuilder(constring)
    Console.WriteLine("Username : " + builder.UserID)
    Console.WriteLine("Password : " + builder.Password)

を使用してOLEDB Provider、以下のようにしてください...

 Imports System.Data.OleDb 

    Dim oledbbuilder As New OleDbConnectionStringBuilder("Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=BMC;Data Source=")
    Console.WriteLine("Username : " + oledbbuilder("User ID").ToString)
    Console.WriteLine("Password : " + oledbbuilder("Password").ToString)
于 2013-05-07T04:22:34.050 に答える
0

古い学校の文字列解析でそれを行いたい場合は、次のようにします。

    Dim data As String = "[oledb] ; Everything after this line is an OLE DB initstring" & vbCrLf _
                         & "Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=BMC;Data Source="


    Dim password As String = ""
    Dim userID As String = ""

    Dim semiColonIndex As Integer

    Dim passIndex As Integer = data.IndexOf("Password=")
    If passIndex > 0 Then
        semiColonIndex = data.IndexOf(";", passIndex)
        If semiColonIndex > 0 Then
            password = data.Substring(passIndex + "Password=".Length, semiColonIndex - passIndex - "Password=".Length)
            Debug.Print(password)
        End If
    End If

    Dim userIndex As Integer = data.IndexOf("User ID=")
    If userIndex > 0 Then
        semiColonIndex = data.IndexOf(";", userIndex)
        If semiColonIndex > 0 Then
            userID = data.Substring(userIndex + "User ID=".Length, semiColonIndex - userIndex - "User ID=".Length)
            Debug.Print(userID)
        End If
    End If
于 2013-05-07T04:20:27.167 に答える
0

OleDbConnectionStringBuilderこれは接続文字列であるため、使用して解析できるはずです。

例は次のようになります。

Dim builder As New OleDbConnectionStringBuilder(connectionString)
' builder("User ID") contains User ID
' builder("Password") contains Password
于 2013-05-07T04:12:54.780 に答える