123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- using System;
- using System.Windows.Forms;
- using System.Data.OleDb;
- using FastReport.Utils;
- using FastReport.Forms;
- namespace FastReport.Data.ConnectionEditors
- {
- internal partial class MsAccessConnectionEditor : ConnectionEditorBase
- {
- private string filter;
- private string connectionString;
- private void Localize()
- {
- MyRes res = new MyRes("ConnectionEditors,Common");
- gbDatabase.Text = res.Get("Database");
- lblDatabase.Text = res.Get("DatabaseFile");
- lblUserName.Text = res.Get("UserName");
- lblPassword.Text = res.Get("Password");
- btnAdvanced.Text = Res.Get("Buttons,Advanced");
- lbProvider.Text = Res.Get("ConnectionEditors,Access,Provider");
- }
- public override void UpdateDpiDependencies()
- {
- base.UpdateDpiDependencies();
- tbDatabase.Image = this.GetImage(1);
- }
- private void tbDatabase_ButtonClick(object sender, EventArgs e)
- {
- using (OpenFileDialog dialog = new OpenFileDialog())
- {
- dialog.Filter = filter;
- if (dialog.ShowDialog() == DialogResult.OK)
- tbDatabase.Text = dialog.FileName;
- }
- }
- private void btnAdvanced_Click(object sender, EventArgs e)
- {
- using (AdvancedConnectionPropertiesForm form = new AdvancedConnectionPropertiesForm())
- {
- OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder(ConnectionString);
- builder.BrowsableConnectionString = false;
- form.AdvancedProperties = builder;
- if (form.ShowDialog() == DialogResult.OK)
- ConnectionString = form.AdvancedProperties.ToString();
- }
- }
- private void CbxProvider_SelectedIndexChanged(object sender, EventArgs e)
- {
- switch (cbxProvider.SelectedIndex)
- {
- case 0:
- filter = Res.Get("FileFilters,MdbFile");
- break;
- case 1:
- filter = Res.Get("FileFilters,MdbFile") + "|" + Res.Get("FileFilters,AccdbFile");
- break;
- }
- }
- protected override string GetConnectionString()
- {
- OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder(connectionString);
- builder.DataSource = tbDatabase.Text;
- builder.Provider = cbxProvider.SelectedItem.ToString();
- if (!String.IsNullOrEmpty(tbUserName.Text))
- builder.Add(MsAccessDataConnection.strUserID, tbUserName.Text);
- else
- builder.Remove(MsAccessDataConnection.strUserID);
- if (!String.IsNullOrEmpty(tbPassword.Text))
- builder.Add(MsAccessDataConnection.strPassword, tbPassword.Text);
- else
- builder.Remove(MsAccessDataConnection.strPassword);
- return builder.ToString();
- }
- protected override void SetConnectionString(string value)
- {
- connectionString = value;
- OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder(value);
- tbDatabase.Text = builder.DataSource;
- if (builder.Provider != "")
- cbxProvider.Text = builder.Provider;
- object userName;
- builder.TryGetValue(MsAccessDataConnection.strUserID, out userName);
- tbUserName.Text = userName == null ? "" : userName.ToString();
- object password;
- builder.TryGetValue(MsAccessDataConnection.strPassword, out password);
- tbPassword.Text = password == null ? "" : password.ToString();
- }
- public MsAccessConnectionEditor()
- {
- InitializeComponent();
- Localize();
- CbxProvider_SelectedIndexChanged(null, null);
- }
- }
- }
|