Программа выводит дерево доменов и компьютеров(на которых стоит SQL-сервер с базами данных). Проблемка в том, что при клике на компьютер, должны в ComboBox выводится все базы, которые на нем находятся. Получается требуется при выборе(клик мышой) на компьютер срабатывать событие и соединяется с сервером на этом компьютере, выводит в ComboBox все базы.
Обработчик для клика работает. Как написать метод, который будет получать имя выбраного компьютера, соединится с SQL — сервером и выведет базы в комбобокс? за примерчик буду благодарен.
Здравствуйте, Art-K, Вы писали:
AK>Программа выводит дерево доменов и компьютеров(на которых стоит SQL-сервер с базами данных). Проблемка в том, что при клике на компьютер, должны в ComboBox выводится все базы, которые на нем находятся. Получается требуется при выборе(клик мышой) на компьютер срабатывать событие и соединяется с сервером на этом компьютере, выводит в ComboBox все базы. AK> Обработчик для клика работает. Как написать метод, который будет получать имя выбраного компьютера, соединится с SQL — сервером и выведет базы в комбобокс? за примерчик буду благодарен.
Тема не один раз обсуждалась, поищете на форуме ...
За пример спасиба, понял процесс конекта сделал.
Можна показать в примере как при клике на компьютере выводить в комбобоксе все базы на этом компьютере? Помогите, буду благодарен.
Здравствуйте, SlaVVVa, Вы писали:
SVV>Здравствуйте, Art-K, Вы писали:
AK>>Можна показать в примере как при клике на компьютере выводить в комбобоксе все базы на этом компьютере?
SVV>Может я вас неправильно понял:
SVV>1.у вас есть имя компа, логин и пароль к SQL servery на нем. SVV>2.вам нужно по исходным данным получить список баз данных, которые имеются в SQL server?
SVV>если так, то премер выше делает именно это!
SVV>1. В метод GetDataBaseList вы передаете: SVV> — имя компа — DataSource SVV> — логин — userID SVV> — пароль — password
SVV>2. Если коннект возможен метод вернет List<string> — который будет хранить все имена БД. SVV> Они в привере выведутся на экран монитора!
SVV>3. Если вам нужно их отобразить в соmbobox'е можно например передать этот листбокс в метод
SVV>Если я вас не понял — опишите подробнее.
Вы все правильно описали с подробностями. Так как опыта в C# мало, незнаю в какой части кода объявить GetDataBaseList, чтоб он вызывался сразу после выбора компьютера в дереве?
Re[5]: Вывод баз в ComboBox
От:
Аноним
Дата:
17.07.07 11:56
Оценка:
Здравствуйте, Art-K, Вы писали:
AK>Так как опыта в C# мало, незнаю в какой части кода объявить GetDataBaseList, чтоб он вызывался сразу после выбора компьютера в дереве?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Art-K, Вы писали:
AK>>Так как опыта в C# мало, незнаю в какой части кода объявить GetDataBaseList, чтоб он вызывался сразу после выбора компьютера в дереве?
А>Компьютер выбирается в TreeView?
В дереве находятся все компьютеры домена, а при клике на одном из них должны в комбобоксе выводится базы этого компьютера
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Art-K, Вы писали:
AK>>Так как опыта в C# мало, незнаю в какой части кода объявить GetDataBaseList, чтоб он вызывался сразу после выбора компьютера в дереве?
А>Компьютер выбирается в TreeView?
Здравствуйте, Art-K, Вы писали:
AK>Да в TreeView выбираются.
Вот пример:
// Form1.csusing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
string computerName = ((TreeView)sender).SelectedNode.Text;
label1.Text = computerName; // ипользуем как DataSource может быть ip адресом
// тут вызов функции возвращающей список баз
// тут инициализация combobox
}
}
}
// Form1.Designer.csnamespace WindowsApplication2
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>private void InitializeComponent()
{
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("Computer1");
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("Computer2");
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("Computer3");
this.treeView1 = new System.Windows.Forms.TreeView();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// treeView1
// this.treeView1.Location = new System.Drawing.Point(12, 12);
this.treeView1.Name = "treeView1";
treeNode4.Name = "Node1";
treeNode4.Text = "Computer1";
treeNode5.Name = "Node2";
treeNode5.Text = "Computer2";
treeNode6.Name = "Node3";
treeNode6.Text = "Computer3";
this.treeView1.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode4,
treeNode5,
treeNode6});
this.treeView1.Size = new System.Drawing.Size(92, 56);
this.treeView1.TabIndex = 0;
this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
//
// label1
// this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(183, 12);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(66, 13);
this.label1.TabIndex = 1;
this.label1.Text = "не выбрано";
//
// label2
// this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(110, 12);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(67, 13);
this.label2.TabIndex = 2;
this.label2.Text = "Имя компа:";
//
// Form1
// this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(312, 81);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.treeView1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TreeView treeView1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
}
}
Здравствуйте, SlaVVVa, Вы писали:
SVV>Здравствуйте, Art-K, Вы писали:
AK>>Да в TreeView выбираются.
SVV>Вот пример:
SVV>
SVV>// Form1.cs
SVV>using System;
SVV>using System.Collections.Generic;
SVV>using System.ComponentModel;
SVV>using System.Data;
SVV>using System.Drawing;
SVV>using System.Text;
SVV>using System.Windows.Forms;
SVV>namespace WindowsApplication2
SVV>{
SVV> public partial class Form1 : Form
SVV> {
SVV> public Form1()
SVV> {
SVV> InitializeComponent();
SVV> }
SVV> private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
SVV> {
SVV> string computerName = ((TreeView)sender).SelectedNode.Text;
SVV> label1.Text = computerName; // ипользуем как DataSource может быть ip адресом
SVV> // тут вызов функции возвращающей список баз
SVV> // тут инициализация combobox
SVV> }
SVV> }
SVV>}
SVV>
По примеру добавил treeView1_AfterSelect. Инициализировал комбобокс и перед этим вызвал ф-ию. Но базы не выводятся. Покопался в MDSN с целью найти пример с List<string>, то что нашел не очень помогло.
Напиши, как в treeView1_AfterSelect вызвать эту ф-ию.
Здравствуйте, Art-K, Вы писали:
AK> Напиши, как в treeView1_AfterSelect вызвать эту ф-ию.
Ну вы фрукт!!!
Давайте лучше так на mail мне zip архив своего проекта скиньте, я вам сам все сделаю!
Здравствуйте, SlaVVVa, Вы писали:
SVV>Здравствуйте, Art-K, Вы писали:
SVV>Ну вы фрукт!!! SVV>Давайте лучше так на mail мне zip архив своего проекта скиньте, я вам сам все сделаю!
Ф-ию дописал сам.
List<string> list = this.GetDatabaseList(computerName);