Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / CheckBox для подключение к базам / 14 сообщений из 14, страница 1 из 1
09.09.2008, 14:18
    #35529809
таджыкТестировщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox для подключение к базам
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim objConn As Object
        Dim ServerName
        Dim DSN
        Dim UID
        Dim PWD
        Dim ConnectString
        Dim objRecordset



        objConn = CreateObject("ADODB.Connection")

        'Определяем параметры подключения к базе данных
        Try

            ServerName = "VIBASE2\TESTVIMB" 'имя или IP-адрес сервера
            DSN = "master" 'имя базы данных
            UID = "sa" 'логин пользователя SQL-сервера
            PWD = "ntcndbv," 'пароль пользователя SQL-сервера
            ConnectString = "Provider=SQLOLEDB;" & _
                            "Data Source=" & ServerName & _
                            ";Initial Catalog=" & DSN & _
                            ";UID=" & UID & ";PWD=" & PWD
            objConn.ConnectionString = ConnectString
            objConn.ConnectionTimeOut =  15 
            objConn.CommandTimeout =  30 
            'Подключаемся к базе данных
            objConn.Open()
            'Выполняем запрос

            objRecordset = objConn.Execute("exec master.dbo.Rights_Fedushkin")
        Catch Ex As Exception ' или... какой у тя там эксэпшн вылазиет, посмотришь вобщем.
            MessageBox.Show("Предупреждение: " + Ex.Message)

        End Try


        'Закрываем соединение
        objConn.Close()
        objConn = Nothing
        objRecordset = Nothing


    End Sub
End Class
...
Рейтинг: 0 / 0
09.09.2008, 14:22
    #35529822
таджыкТестировщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox для подключение к базам
Извеняюсь, код вставил а написать забыл.

Выше мой код.

На форме есть несколько чекбоксов и кнопка пуск.

Так вот когда я чекаю 1 или 2 бокса то он выполняет данную процедуру для каждой базы. ТОесть один чекбокс это одна база.
Как мне сделать это? тоесть чтобы чекнув 1 чекбокс выполнялось на одну базу чекнув 2 базы выполнялось на 2 базы.

Заранее благодарю.

В данный момент у меня выполняеться только на одну базу.

PS. Использую ВБ2008

С уважением,
таджыкТестировщик
...
Рейтинг: 0 / 0
09.09.2008, 15:04
    #35529946
таджыкТестировщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox для подключение к базам
таджыкТестировщикИзвеняюсь, код вставил а написать забыл.

Выше мой код.

На форме есть несколько чекбоксов и кнопка пуск.

Так вот когда я чекаю 1 или 2 бокса то он выполняет данную процедуру для каждой базы. ТОесть один чекбокс это одна база.
Как мне сделать это? тоесть чтобы чекнув 1 чекбокс выполнялось на одну базу чекнув 2 базы выполнялось на 2 базы.

Заранее благодарю.

В данный момент у меня выполняеться только на одну базу.

PS. Использую ВБ2008

С уважением,
таджыкТестировщик

Ну что не кто незнает? или такое не возможно?
...
Рейтинг: 0 / 0
09.09.2008, 15:08
    #35529959
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox для подключение к базам
бредовая идея потому что ;)
ставь чекбоксы и кнопку ВЫПОЛНИТЬ, а на кнопку уже вешай выполнение своей процедуры. в процедуре проверяй какие чекбоксы выставлены и исходя из этого выполняй что тебе там надо
...
Рейтинг: 0 / 0
09.09.2008, 16:16
    #35530164
таджыкТестировщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox для подключение к базам
Konst_Oneбредовая идея потому что ;)
ставь чекбоксы и кнопку ВЫПОЛНИТЬ, а на кнопку уже вешай выполнение своей процедуры. в процедуре проверяй какие чекбоксы выставлены и исходя из этого выполняй что тебе там надо
Так ADO подлючения ведь разные.
Как это должно выглядить что каждый чекбокс к своей базе тоесть своему подключению привязан?
...
Рейтинг: 0 / 0
09.09.2008, 16:23
    #35530185
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox для подключение к базам
да хоть опредили переменные разные. под каждый чекбокс - своя переменная, содержащая свой коннекшен стринг. это как один из вариантов
...
Рейтинг: 0 / 0
09.09.2008, 16:24
    #35530190
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox для подключение к базам
или массив

i=номер чекбокса
ConnectionString=arr(i)
...
...
Рейтинг: 0 / 0
10.09.2008, 13:41
    #35531855
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox для подключение к базам
Лень переписывать под тебя... Посмотри примеры реализации во вложении.
...
Рейтинг: 0 / 0
11.09.2008, 14:00
    #35534066
таджыкТестировщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox для подключение к базам
Чёта уже второй день сижу не могу не как вкурить как это должно быть , уже всё перерыл.

Есть форма на ней много чекбосав и кнопка пуск

Каждый чекбокс это подключение к другой базе.
Пуск выполняет процедуру находящаяся в базе.

Я уже по разному что то попробвал и нехрена не получаеться. Весь инет скачал и перерыл.

Я канечно начинающий програмер.

Подскажите пожалуста.

1. Само подключение должно быть прописано в чекбоксе?
2. кнопка как должна быть связана с чекбоксом?

Я уже создал и переменные и попробывал и всё равно не то.
Как это примерно должно выглядить?

Пример AndreTM не помог. Там нету чекбоксов там что то другое.

Вот в данный момент состояние кода.

авторPublic Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim objConn As Object
Dim objRecordset



objConn = CreateObject("ADODB.Connection")

'Определяем параметры подключения к базе данных
Try

'Подключаемся к базе данных
objConn.Open()
'Выполняем запрос

objRecordset = objConn.Execute("exec master.dbo.Rights_Fedushkin")
Catch Ex As Exception ' или... какой у тя там эксэпшн вылазиет, посмотришь вобщем.
MessageBox.Show("Предупреждение: " + Ex.Message)

End Try


'Закрываем соединение
objConn.Close()
objConn = Nothing
objRecordset = Nothing


End Sub

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged

Dim ServerName
Dim DSN
Dim UID
Dim PWD
Dim ConnectString
Dim objConn As Object

ServerName = "VIBASE2\TESTVIMB" 'имя или IP-адрес сервера
DSN = "master" 'имя базы данных
UID = "sa" 'логин пользователя SQL-сервера
PWD = "**123," 'пароль пользователя SQL-сервера
ConnectString = "Provider=SQLOLEDB;" & _
"Data Source=" & ServerName & _
";Initial Catalog=" & DSN & _
";UID=" & UID & ";PWD=" & PWD
objConn.ConnectionString = ConnectString
objConn.ConnectionTimeOut = 15
objConn.CommandTimeout = 30


End Sub
End Class
...
Рейтинг: 0 / 0
11.09.2008, 14:01
    #35534074
таджыкТестировщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox для подключение к базам
Скрин интерфейса

С уважением,
таджыкТестировщик
...
Рейтинг: 0 / 0
11.09.2008, 14:01
    #35534076
таджыкТестировщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox для подключение к базам
Скрин интерфейса что то скрин не как не атачеться.


С уважением,
таджыкТестировщик
...
Рейтинг: 0 / 0
11.09.2008, 16:07
    #35534577
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox для подключение к базам
> Автор: таджыкТестировщик
> Чёта уже второй день сижу не могу не как вкурить как это должно быть , уже всё
> перерыл.

Значит количество ещё не переварилось в качество :)

>
> Есть форма на ней много чекбосав и кнопка пуск
>
> Каждый чекбокс это подключение к другой базе.

Вот и делай по выбору чекбокса заполнение строки соединения, согласно нужной БД

> Пуск выполняет процедуру находящаяся в базе.

А при пуске подставляй готовую строку соединения к ADO.Connection

>
> Я уже по разному что то попробвал и нехрена не получаеться. Весь инет скачал и
> перерыл.
>
> Я канечно начинающий програмер.
>
> Подскажите пожалуста.
>
> 1. Само подключение должно быть прописано в чекбоксе?

Нет, в обработчике клика по чеку, просто собирай строку коннекта к нужной БД

> 2. кнопка как должна быть связана с чекбоксом?

Кнопка никак не связана с чеками, но по клику на кнопке в соединение подставлять строку
соединения, которая собрана в клике по чеку

>
> Я уже создал и переменные и попробывал и всё равно не то.
> Как это примерно должно выглядить?
>
> Пример AndreTM не помог. Там нету чекбоксов там что то другое.
>
> Вот в данный момент состояние кода.
Предполагается, что на форме расположены три чекбокса с именами CheckBox1, CheckBox2 и
CheckBox3, а также кнопка с именем Button1.
По клику на какой-то чекбокс заполняется строка соединения к БД и устанавливаются
дополнитьельные параметры соединения. По клику на кнопке происходит соединение к выбранной
БД. Нужно доработать что-бы при выборе одного из чекбоксов, сбрасывались другие, и что-бы
заполнение ConnectString происходило только при установке птички, а не при снятии. Я бы
сделал это группой RadioButtons.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
Public Class Form1

Dim ConnectString as string ' Строка соединения с БД
Dim objConn As Object ' Объект соединения

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 
MyBase.Load
 ' При загрузке формы создаем объект соединения
 objConn = CreateObject("ADODB.Connection")
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 
Handles Button1.Click
Dim objRecordset As Object
 'Определяем параметры подключения к базе данных
 Try
  'Подключаемся к базе данных
  objConn.Open()
  'Выполняем запрос
  objRecordset = objConn.Execute("exec master.dbo.Rights_Fedushkin")
 Catch Ex As Exception ' или... какой у тя там эксэпшн вылазиет, посмотришь вобщем.
  MessageBox.Show("Предупреждение: " + Ex.Message)
 End Try
 'Закрываем соединение
 objConn.Close()
 objConn = Nothing
 objRecordset = Nothing
End Sub

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles CheckBox1.CheckedChanged
Dim ServerName as string
Dim DSN as string
Dim UID as string
Dim PWD as string

 ServerName = "VIBASE2\TESTVIMB" 'имя или IP-адрес сервера
 DSN = "master" 'имя базы данных
 UID = "sa" 'логин пользователя SQL-сервера
 PWD = "**123," 'пароль пользователя SQL-сервера
 ' Переменная строки соединения берётся та, которая объявлена для всего класса
 ConnectString = "Provider=SQLOLEDB;" & _
 "Data Source=" & ServerName & _
 ";Initial Catalog=" & DSN & _
 ";UID=" & UID & ";PWD=" & PWD
 ' Объект соединения - объявлен в классе и инициализирован в Form1_Load
 objConn.ConnectionString = ConnectString
 objConn.ConnectionTimeOut =  15 
 objConn.CommandTimeout =  30 
End Sub

Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles CheckBox2.CheckedChanged
' Содиняемся к FireBird
 ' Переменная строки соединения берётся та, которая объявлена для всего класса
 ConnectString = "Provider=LCPI.IBProvider.3.Free;Password=masterkey;Persist Security 
Info=True;" _
     & "User ID=sysdba;Data 
Source="""";Location=D:\TEST.GDB;ctype="""";dbclient_library=gds32.dll;dbclient_type=fb"
 ' Объект соединения - объявлен в классе и инициализирован в Form1_Load
 objConn.ConnectionString = ConnectString
 objConn.ConnectionTimeOut =  15 
 objConn.CommandTimeout =  30 
End Sub

Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles CheckBox3.CheckedChanged
' Содиняемся к БД FoxPro
 ' Переменная строки соединения берётся та, которая объявлена для всего класса
 ConnectString = "Provider=VFPOLEDB.1;Data Source=C:\test_forx;Password="""";Collating 
Sequence=MACHINE"
 ' Объект соединения - объявлен в классе и инициализирован в Form1_Load
 objConn.ConnectionString = ConnectString
 objConn.ConnectionTimeOut =  15 
 objConn.CommandTimeout =  30 
End Sub

End Class



--
С уважением Горбонос Игорь Леонидович

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
11.09.2008, 16:36
    #35534688
таджыкТестировщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox для подключение к базам
Игорь Горбонос
> Автор: таджыкТестировщик
> Чёта уже второй день сижу не могу не как вкурить как это должно быть , уже всё
> перерыл.

Значит количество ещё не переварилось в качество :)

>
> Есть форма на ней много чекбосав и кнопка пуск
>
> Каждый чекбокс это подключение к другой базе.

Вот и делай по выбору чекбокса заполнение строки соединения, согласно нужной БД

> Пуск выполняет процедуру находящаяся в базе.

А при пуске подставляй готовую строку соединения к ADO.Connection

>
> Я уже по разному что то попробвал и нехрена не получаеться. Весь инет скачал и
> перерыл.
>
> Я канечно начинающий програмер.
>
> Подскажите пожалуста.
>
> 1. Само подключение должно быть прописано в чекбоксе?

Нет, в обработчике клика по чеку, просто собирай строку коннекта к нужной БД

> 2. кнопка как должна быть связана с чекбоксом?

Кнопка никак не связана с чеками, но по клику на кнопке в соединение подставлять строку
соединения, которая собрана в клике по чеку

>
> Я уже создал и переменные и попробывал и всё равно не то.
> Как это примерно должно выглядить?
>
> Пример AndreTM не помог. Там нету чекбоксов там что то другое.
>
> Вот в данный момент состояние кода.
Предполагается, что на форме расположены три чекбокса с именами CheckBox1, CheckBox2 и
CheckBox3, а также кнопка с именем Button1.
По клику на какой-то чекбокс заполняется строка соединения к БД и устанавливаются
дополнитьельные параметры соединения. По клику на кнопке происходит соединение к выбранной
БД. Нужно доработать что-бы при выборе одного из чекбоксов, сбрасывались другие, и что-бы
заполнение ConnectString происходило только при установке птички, а не при снятии. Я бы
сделал это группой RadioButtons.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
Public Class Form1

Dim ConnectString as string ' Строка соединения с БД
Dim objConn As Object ' Объект соединения

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 
MyBase.Load
 ' При загрузке формы создаем объект соединения
 objConn = CreateObject("ADODB.Connection")
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 
Handles Button1.Click
Dim objRecordset As Object
 'Определяем параметры подключения к базе данных
 Try
  'Подключаемся к базе данных
  objConn.Open()
  'Выполняем запрос
  objRecordset = objConn.Execute("exec master.dbo.Rights_Fedushkin")
 Catch Ex As Exception ' или... какой у тя там эксэпшн вылазиет, посмотришь вобщем.
  MessageBox.Show("Предупреждение: " + Ex.Message)
 End Try
 'Закрываем соединение
 objConn.Close()
 objConn = Nothing
 objRecordset = Nothing
End Sub

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles CheckBox1.CheckedChanged
Dim ServerName as string
Dim DSN as string
Dim UID as string
Dim PWD as string

 ServerName = "VIBASE2\TESTVIMB" 'имя или IP-адрес сервера
 DSN = "master" 'имя базы данных
 UID = "sa" 'логин пользователя SQL-сервера
 PWD = "**123," 'пароль пользователя SQL-сервера
 ' Переменная строки соединения берётся та, которая объявлена для всего класса
 ConnectString = "Provider=SQLOLEDB;" & _
 "Data Source=" & ServerName & _
 ";Initial Catalog=" & DSN & _
 ";UID=" & UID & ";PWD=" & PWD
 ' Объект соединения - объявлен в классе и инициализирован в Form1_Load
 objConn.ConnectionString = ConnectString
 objConn.ConnectionTimeOut =  15 
 objConn.CommandTimeout =  30 
End Sub

Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles CheckBox2.CheckedChanged
' Содиняемся к FireBird
 ' Переменная строки соединения берётся та, которая объявлена для всего класса
 ConnectString = "Provider=LCPI.IBProvider.3.Free;Password=masterkey;Persist Security 
Info=True;" _
     & "User ID=sysdba;Data 
Source="""";Location=D:\TEST.GDB;ctype="""";dbclient_library=gds32.dll;dbclient_type=fb"
 ' Объект соединения - объявлен в классе и инициализирован в Form1_Load
 objConn.ConnectionString = ConnectString
 objConn.ConnectionTimeOut =  15 
 objConn.CommandTimeout =  30 
End Sub

Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles CheckBox3.CheckedChanged
' Содиняемся к БД FoxPro
 ' Переменная строки соединения берётся та, которая объявлена для всего класса
 ConnectString = "Provider=VFPOLEDB.1;Data Source=C:\test_forx;Password="""";Collating 
Sequence=MACHINE"
 ' Объект соединения - объявлен в классе и инициализирован в Form1_Load
 objConn.ConnectionString = ConnectString
 objConn.ConnectionTimeOut =  15 
 objConn.CommandTimeout =  30 
End Sub

End Class



--
С уважением Горбонос Игорь Леонидович

Posted via ActualForum NNTP Server 1.4

Так мне надо чтобы были именно чекбоксы а не ради кнопки, так как при нажатии процедурка накатываеться на чекнутые базы, а радио кнопка накатывает только на одну.
Если по одной то можно и сделать дроп даун и из него выберать базы. Проста хотелось бы ускорить процес и чтобы накат происходил сразу на несколько баз одновременно

Огромное спасибо вам за помощ
...
Рейтинг: 0 / 0
11.09.2008, 17:43
    #35534915
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CheckBox для подключение к базам
> Автор: таджыкТестировщик
> Так мне надо чтобы были именно чекбоксы а не ради кнопки, так как при нажатии
> процедурка накатываеться на чекнутые базы, а радио кнопка накатывает только на одну.

Так! Стоп! У тебя один SQL-сервер на котором несколько баз данных и тебе нужно на
выбранные БД накатить скрипт изменений? или у тебя несколько БД под разными SQL-серверами?
Что собственно сути не меняет :))
Тогда я делал-бы отдельный класс, унаследованный от класса потока System.Threading в
котором создавал и заполнял свойства объекта ADO.Connection и добавлял бы созданый объект
в коллекцию. И при нажатии на кнопку просто пробегался по коллекции и запускал новый поток
в контексте которого и выполнялись бы скрипты для БД. В каждом потоке отдельное
подключение к БД. Кода не напишу, т.к. нет студии, а по памяти не получится ;)

> Если по одной то можно и сделать дроп даун и из него выберать базы. Проста хотелось
> бы ускорить процес и чтобы накат происходил сразу на несколько баз одновременно
>
> Огромное спасибо вам за помощ



--
С уважением Горбонос Игорь Леонидович

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / CheckBox для подключение к базам / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]