• Loand tên severname,database SQL vào combox trên form
  • Loand tên severname,database SQL vào combox trên form

    tt1212 > 01-06-15, 01:36 AM

    Nhờ mọi người giúp đỡ mình một việc thế này
    Mình có một form kết nối CSDL bao gồm cả Access và SQl
    ACESS thì Ổn rồi bầy giờ muốn làm bằng SQL
    là khi người ta chọn vào combox Sever name thì tên severname SQL trên máy đó sẽ hiển thị lên combox cho người ta chọn để người ta không phải gõ vào thì phải làm thế nào hả mọi ngừoi

    [Hình: SinhVienIT.Net---untitled-276.jpg]
  • RE: Loand tên severname,database SQL vào combox trên form

    maidinhdan > 01-06-15, 05:01 PM

    Có lẽ phần này anh tt1212 nhờ anh hoanbhxhls trợ giúp sẽ tốt nhất vì anh ấy có nhiều kinh nghiệm trong việc triển khai kết nối SQL Server + Access.

    Nhưng với câu hỏi trên em cũng xin mạng phép có vài lời góp ý, mong các anh bổ sung thêm nếu thiếu chỗ nào.

    1. Khi đã triển khai SQL Server đừng bó hẹp trong phạm vi localhost mà ta phải nghĩ đến Web Server thì hay hơn. Cho nên vấn đề trên khi cung cấp ứng dụng cho người dùng ta chỉ cần tạo User + Pass đăng nhập là đủ rồi.

    Còn phần tên Server và Database thì nên cho nó vào table hay một class/ thủ tục hàm gì đó để chạy sẽ linh hoạt hơn cho người dùng khi mở ứng dụng cứ lặp đi lặp lại đến 4 ô mới có thể đăng nhập vào ứng dụng. Thì thật chán nản luôn....

    2. Em nghĩ mỗi cơ quan cao nhất chỉ có 1 Server thôi, Database thì có thể nhiều hay ít tùy thuộc vào có bao nhiêu ứng dụng được triển khai.


    * Em xin phép được nói 2 ý này thôi vì em biết có lẽ kinh nghiệm anh còn nhiều hơn em nửa!

    Thân ái chào anh.
  • RE: Loand tên severname,database SQL vào combox trên form

    tt1212 > 01-06-15, 10:03 PM

    (01-06-15, 05:01 PM)maidinhdan Đã viết: Có lẽ phần này anh tt1212 nhờ anh hoanbhxhls trợ giúp sẽ tốt nhất vì anh ấy có nhiều kinh nghiệm trong việc triển khai kết nối SQL Server + Access.

    Nhưng với câu hỏi trên em cũng xin mạng phép có vài lời góp ý, mong các anh bổ sung thêm nếu thiếu chỗ nào.

    1. Khi đã triển khai SQL Server đừng bó hẹp trong phạm vi localhost mà ta phải nghĩ đến Web Server thì hay hơn. Cho nên vấn đề trên khi cung cấp ứng dụng cho người dùng ta chỉ cần tạo User + Pass đăng nhập là đủ rồi.

    Còn phần tên Server và Database thì nên cho nó vào table hay một class/ thủ tục hàm gì đó để chạy sẽ linh hoạt hơn cho người dùng khi mở ứng dụng cứ lặp đi lặp lại đến 4 ô mới có thể đăng nhập vào ứng dụng. Thì thật chán nản luôn....

    2. Em nghĩ mỗi cơ quan cao nhất chỉ có 1 Server thôi, Database thì có thể nhiều hay ít tùy thuộc vào có bao nhiêu ứng dụng được triển khai.


    * Em xin phép được nói 2 ý này thôi vì em biết có lẽ kinh nghiệm anh còn nhiều hơn em nửa!

    Thân ái chào anh.
    Xin cảm ơn Maidinhdan khồn biêt hoanbhxhls có nhiệt tình giúp đỡ cho hay không nữa
    thật ra sever name, user, pass database đều nằm trong những bảng có sẵn của SQL tuy nhiên mình chỉ lấy được sau khi mình đã kết nối, nhưng ngặt nối giờ mình đang cần kết nối vậy thì làm sao mà lấy đưuọc040040
  • RE: Loand tên severname,database SQL vào combox trên form

    maidinhdan > 02-06-15, 10:45 AM

    Anh tham khảo code này thử xem:

    Mã PHP:
    Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
            
    'Đọc lại các giá trị từ Registry
            SQLServerName = Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SQLServerName", "")
            SQLLoginMode = CType(Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SQLLoginMode", "False"), Boolean)
            SaveSQL = CType(Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SavedSQL", "False"), Boolean)
            SaveSQLUser = Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SaveSQLUser", "")
            SaveSQLPW = Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SaveSQLPW", "")
            SaveUser = CType(Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SaveUser", "False"), Boolean)
            SaveUserName = Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SaveUserName", "")
            SaveUserPW = Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SaveUserPW", "")
            '
    -------------------------------------------
     
            
    Dim dtSQL As New DataTable
            Dim sName 
    As String
            dtSQL 
    Microsoft.SqlServer.Management.Smo.SmoApplication.EnumAvailableSqlServers() 'Lấy tên các SQL Server
            For Each r As DataRow In dtSQL.Rows '
    Đưa vào ComboBox
                sName 
    r.Item("Name").ToString
                
    If sName "" Then sName "(local)"
                
    cboServerName.Items.Add(sName)
            
    Next
            
    If SQLServerName <> "" Then
                cboServerName
    .Text SQLServerName 'Chọn ComboBox hiện tên Server đã chọn
            Else
                If cboServerName.Items.Count > 0 Then cboServerName.SelectedIndex = 0 '
    Chưa có tên chọn Server đầu tiên
            End 
    If
            
    cntLogin 0
     
            
    If Not SQLLoginMode Then 'Chọn loại đăng nhập
                WinAuth.Checked = True
                SQLAuth.Checked = False
                AuthServerSQL(False)
            Else
                WinAuth.Checked = False
                SQLAuth.Checked = True
                AuthServerSQL(True)
            End If
     
            CheckBoxServerSave.Checked = SaveSQL '
    Chọn xem có lưu lại User và Pass không
            
    If SaveSQL Then
                TextBoxServerLoginName
    .Text SaveSQLUser
                TextBoxServerPassword
    .Text SaveSQLPW
            End 
    If
     
            
    CheckBoxUserSave.Checked SaveUser
            
    If SaveUser Then
                UsernameTextBox
    .Text SaveUserName
                PasswordTextBox
    .Text SaveUserPW
            End 
    If
        
    End Sub 


    Và 1 link này nửa nếu cái trên không được: Nhấn vào đây

    Em chưa test, có gì anh cho ý kiến thêm!
  • RE: Loand tên severname,database SQL vào combox trên form

    hieuvn > 02-06-15, 12:33 PM

    không kết nối đến server thì không lấy được Data name đâu
  • RE: Loand tên severname,database SQL vào combox trên form

    tt1212 > 02-06-15, 03:52 PM

    Hieuvn nói rất đúng có le bo qua vấn đề đó đi.
    Hiếu và Maidinhdan nghiên cứu xem mình đã kết nối được SQL và SQL trên host chạy được tuy nhiên giữa hai máy nhập và chạy song song xử lý chậm lắm