private void provider_Changed(object sender, EventArgs e) { object item = providerComboBox.SelectedItem; if (item != null) { SQLiteOptions.SetProviderName(item.ToString()); } }
protected override void OnLoadOptions(string key, Stream stream) { if (SQLiteOptions.HaveKey(key)) { string value; if (SQLiteOptions.ReadValue(stream, out value) && SQLiteOptions.IsValidValue(key, value)) { SQLiteOptions.SetValue(key, value); } return; } base.OnLoadOptions(key, stream); }
public SQLitePackage() { IEnumerable <string> keys = SQLiteOptions.GetKeys(true); if (keys != null) { foreach (string key in keys) { if (key == null) { continue; } AddOptionKey(key); } } }
protected override void OnSaveOptions(string key, Stream stream) { if (SQLiteOptions.HaveKey(key)) { string value; if (SQLiteOptions.GetValue(key, out value) && SQLiteOptions.IsValidValue(key, value) && !SQLiteOptions.IsDefaultValue(key, value)) { SQLiteOptions.WriteValue(stream, value); } return; } base.OnSaveOptions(key, stream); }
public override void LoadProperties() { SQLiteOptions.SelectProviderName(providerComboBox); fileTextBox.Text = String.Empty; passwordTextBox.Text = String.Empty; if (ConnectionProperties == null) { return; } if (ConnectionProperties.Contains("data source")) { fileTextBox.Text = ConnectionProperties["data source"] as string; } if (ConnectionProperties.Contains("password")) { passwordTextBox.Text = ConnectionProperties["password"] as string; } }
protected override void FillTreeWithData(Selector selector, ITypeDescriptorContext context, IServiceProvider provider) { object manager = Activator.CreateInstance(_managerType, new object[] { provider }); DbConnection connection = (DbConnection)context.Instance; ObjectSelectorEditor.SelectorNode node; _selector = selector; _selector.Clear(); if (manager != null) { int items = (int)_managerType.InvokeMember("GetConnectionCount", BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.Public, null, manager, null); string dataProvider; string connectionString; string connectionName; for (int n = 0; n < items; n++) { connectionString = (string)_managerType.InvokeMember("GetConnectionString", BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.Public, null, manager, new object[] { n }); connectionName = (string)_managerType.InvokeMember("GetConnectionName", BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.Public, null, manager, new object[] { n }); dataProvider = (string)_managerType.InvokeMember("GetProvider", BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.Public, null, manager, new object[] { n }); if (String.Compare(dataProvider, SQLiteOptions.GetProviderName(), StringComparison.OrdinalIgnoreCase) == 0) { node = selector.AddNode(connectionName, connectionString, null); if (String.Compare(connectionString, connection.ConnectionString, StringComparison.OrdinalIgnoreCase) == 0) { selector.SelectedNode = node; } } } selector.AddNode("<New Connection...>", this, null); } }
public SQLiteDataConnectionSupport() : base(SQLiteOptions.GetProviderName()) { }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (provider == null || context == null) { return(value); } if (context.Instance == null) { return(value); } try { context.OnComponentChanging(); object newConnection = base.EditValue(context, provider, value); string connectionString = newConnection as string; int index = -1; if (connectionString == null && newConnection != null) { if (_managerType != null) { object manager = Activator.CreateInstance(_managerType, new object[] { provider }); if (manager != null) { index = (int)_managerType.InvokeMember("AddNewConnection", BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.Public, null, manager, new object[] { SQLiteOptions.GetProviderName() }); if (index > -1 && _selector != null) { connectionString = (string)_managerType.InvokeMember("GetConnectionString", BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.Public, null, manager, new object[] { index }); _selector.SelectedNode = _selector.AddNode((string)_managerType.InvokeMember("GetConnectionName", BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.Public, null, manager, new object[] { index }), connectionString, null); } } } } if (String.IsNullOrEmpty(connectionString) == false) { value = connectionString; } context.OnComponentChanged(); } catch { } return(value); }
public SQLiteConnectionUIControl() { InitializeComponent(); SQLiteOptions.AddProviderNames(providerComboBox.Items); }
public SQLiteConnectionProperties(string connectionString) : base(SQLiteOptions.GetProviderName(), connectionString) { }
/// <summary> /// Creates the necessary components associated with this data adapter instance /// </summary> /// <param name="host">The designer host</param> /// <returns>The components created by this toolbox item</returns> protected override IComponent[] CreateComponentsCore(IDesignerHost host) { List <IComponent> list = new List <IComponent>(); DbProviderFactory fact; if (SQLiteOptions.GetProviderFactory(SQLiteOptions.GetProviderName(), true, out fact)) { DbDataAdapter dataAdapter = fact.CreateDataAdapter(); IContainer container = host.Container; using (DbCommand adapterCommand = fact.CreateCommand()) { ICloneable adapter = (ICloneable)adapterCommand; adapterCommand.DesignTimeVisible = false; dataAdapter.SelectCommand = (DbCommand)adapter.Clone(); container.Add(dataAdapter.SelectCommand, GenerateName(container, "SelectCommand")); dataAdapter.InsertCommand = (DbCommand)adapter.Clone(); container.Add(dataAdapter.InsertCommand, GenerateName(container, "InsertCommand")); dataAdapter.UpdateCommand = (DbCommand)adapter.Clone(); container.Add(dataAdapter.UpdateCommand, GenerateName(container, "UpdateCommand")); dataAdapter.DeleteCommand = (DbCommand)adapter.Clone(); container.Add(dataAdapter.DeleteCommand, GenerateName(container, "DeleteCommand")); } ITypeResolutionService typeResService = (ITypeResolutionService)host.GetService(typeof(ITypeResolutionService)); if (typeResService != null) { typeResService.ReferenceAssembly(dataAdapter.GetType().Assembly.GetName()); } container.Add(dataAdapter); list.Add(dataAdapter); // Show the connection wizard if we have a type for it if (_wizard != null) { using (Form wizard = (Form)Activator.CreateInstance(_wizard, new object[] { host, dataAdapter })) { wizard.ShowDialog(); } } if (dataAdapter.SelectCommand != null) { list.Add(dataAdapter.SelectCommand); } if (dataAdapter.InsertCommand != null) { list.Add(dataAdapter.InsertCommand); } if (dataAdapter.DeleteCommand != null) { list.Add(dataAdapter.DeleteCommand); } if (dataAdapter.UpdateCommand != null) { list.Add(dataAdapter.UpdateCommand); } } return(list.ToArray()); }