数据库选择对话框。
using System;
using System.Windows.Forms;
namespace Whxbb.Windows.Forms
{
/// <summary>
/// 数据库选择对话框。
/// </summary>
public class ChooseDatabaseDialog
{
private string _connectionString = String.Empty;
/// <summary>
/// 获取数据库连接字符串。
/// </summary>
public string ConnectionString
{
get
{
if (_connectionString == string.Empty && _connectionString != "")
{
return _connectionString;
}
else
{
string[] tmp = _connectionString.Split(';');
System.Text.StringBuilder sb = new System.Text.StringBuilder();
for(int i = 1; i < tmp.Length; i++)
{
if (i != 1)
sb.Append(";" + tmp[i]);
else
sb.Append(tmp[i]);
}
return sb.ToString();
}
}
}
private MSDASC.DataLinks _dataLinks;
private ADODB.Connection _connection;
/// <summary>
/// 无参数构造方法。
/// </summary>
public ChooseDatabaseDialog()
{
_dataLinks = new MSDASC.DataLinksClass();
}
/// <summary>
/// 显示对话框。
/// </summary>
/// <returns></returns>
public DialogResult ShowDialog()
{
try
{
_connection = new ADODB.ConnectionClass();
//_connection = (ADODB.Connection)_dataLinks.PromptNew();
_connection.Provider = "SQLOLEDB.1";
object obj = _connection as object;
_dataLinks.PromptEdit(ref obj);
if (_connection == null)
{
return DialogResult.Cancel;
}
else
{
_connectionString = _connection.ConnectionString;
if (_connectionString == "" || _connectionString == null)
{
return DialogResult.Cancel;
}
else
{
return DialogResult.OK;
}
}
}
catch (Exception e)
{
return DialogResult.Abort;
}
}
}
}