System.Data.SQLite
Check-in [92a5b1ec00]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:work in progress
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | sourceforge
Files: files | file ages | folders
SHA1: 92a5b1ec0008af5833210895f988cbb87c1d3aa3
User & Date: rmsimpson 2006-02-24 23:26:58
Context
2006-02-25
07:50
Work in progress check-in: 059f612efa user: rmsimpson tags: sourceforge
2006-02-24
23:26
work in progress check-in: 92a5b1ec00 user: rmsimpson tags: sourceforge
06:07
work in progress check-in: 1283114bab user: rmsimpson tags: sourceforge
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to SQLite.Designer/SQLite.Designer.csproj.

    13     13       <AssemblyOriginatorKeyFile>
    14     14       </AssemblyOriginatorKeyFile>
    15     15     </PropertyGroup>
    16     16     <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    17     17       <DebugSymbols>true</DebugSymbols>
    18     18       <DebugType>full</DebugType>
    19     19       <Optimize>false</Optimize>
    20         -    <OutputPath>..\bin\</OutputPath>
           20  +    <OutputPath>..\bin\designer\</OutputPath>
    21     21       <DefineConstants>DEBUG;TRACE</DefineConstants>
    22     22       <ErrorReport>prompt</ErrorReport>
    23     23       <WarningLevel>4</WarningLevel>
    24     24       <NoWarn>1701;1702;1699</NoWarn>
    25     25       <FileAlignment>512</FileAlignment>
    26     26     </PropertyGroup>
    27     27     <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
................................................................................
    55     55         <SpecificVersion>False</SpecificVersion>
    56     56       </Reference>
    57     57       <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    58     58         <SpecificVersion>False</SpecificVersion>
    59     59       </Reference>
    60     60       <Reference Include="System" />
    61     61       <Reference Include="System.Data" />
    62         -    <Reference Include="System.Data.SQLite, Version=1.0.26.2, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
    63         -      <SpecificVersion>False</SpecificVersion>
    64         -      <Private>False</Private>
    65         -    </Reference>
    66     62       <Reference Include="System.Design" />
    67     63       <Reference Include="System.Drawing" />
    68     64       <Reference Include="System.Windows.Forms" />
    69     65       <Reference Include="System.Xml" />
    70     66     </ItemGroup>
    71     67     <ItemGroup>
           68  +    <Compile Include="SQLiteAdapterDesigner.cs">
           69  +    </Compile>
    72     70       <Compile Include="SQLiteCommandDesigner.cs">
    73     71       </Compile>
    74     72       <Compile Include="SQLiteCommandHandler.cs" />
    75     73       <Compile Include="SQLiteConnectionProperties.cs" />
           74  +    <Compile Include="SQLiteConnectionStringEditor.cs" />
    76     75       <Compile Include="SQLiteConnectionUIControl.cs">
    77     76         <SubType>UserControl</SubType>
    78     77       </Compile>
    79     78       <Compile Include="SQLiteConnectionUIControl.Designer.cs">
    80     79         <DependentUpon>SQLiteConnectionUIControl.cs</DependentUpon>
    81     80       </Compile>
    82     81       <Compile Include="SQLiteDataAdapterToolboxItem.cs" />
................................................................................
   118    117       <None Include="CtcComponents\PkgCmdID.h" />
   119    118     </ItemGroup>
   120    119     <ItemGroup>
   121    120       <Folder Include="Properties\" />
   122    121     </ItemGroup>
   123    122     <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   124    123     <Import Project="C:\Program Files\Visual Studio 2005 SDK\2006.02\VisualStudioIntegration\Tools\Build\Microsoft.VsSDK.targets" />
          124  +  <PropertyGroup>
          125  +    <PostBuildEvent>COPY $(TargetPath) $(DevEnvDir)PrivateAssemblies</PostBuildEvent>
          126  +  </PropertyGroup>
   125    127   </Project>

Added SQLite.Designer/SQLiteAdapterDesigner.cs.

            1  +namespace SQLite.Designer
            2  +{
            3  +  using System;
            4  +  using System.ComponentModel;
            5  +  using System.ComponentModel.Design;
            6  +  using System.Data.Common;
            7  +  using System.Collections;
            8  +  using System.Reflection;
            9  +
           10  +  internal sealed class SQLiteAdapterDesigner : ComponentDesigner, IExtenderProvider
           11  +  {
           12  +    private ComponentDesigner _designer = null;
           13  +
           14  +    public SQLiteAdapterDesigner()
           15  +    {
           16  +    }
           17  +
           18  +    public override void Initialize(IComponent component)
           19  +    {
           20  +      base.Initialize(component);
           21  +
           22  +      Assembly assm = Assembly.Load("Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
           23  +      if (assm != null)
           24  +      {
           25  +        Type type = assm.GetType("Microsoft.VSDesigner.Data.VS.SqlDataAdapterDesigner");
           26  +        if (type != null)
           27  +        {
           28  +          _designer = (ComponentDesigner)Activator.CreateInstance(type);
           29  +          _designer.Initialize(component);
           30  +        }
           31  +      }
           32  +    }
           33  +
           34  +    protected override void Dispose(bool disposing)
           35  +    {
           36  +      if (_designer != null)
           37  +        ((IDisposable)_designer).Dispose();
           38  +
           39  +      base.Dispose(disposing);
           40  +    }
           41  +
           42  +    public override DesignerVerbCollection Verbs
           43  +    {
           44  +      get
           45  +      {
           46  +        return (_designer != null) ? _designer.Verbs : null;
           47  +      }
           48  +    }
           49  +
           50  +    public override ICollection AssociatedComponents
           51  +    {
           52  +      get
           53  +      {
           54  +        return (_designer != null) ? _designer.AssociatedComponents : null;
           55  +      }
           56  +    }
           57  +
           58  +    #region IExtenderProvider Members
           59  +
           60  +    public bool CanExtend(object extendee)
           61  +    {
           62  +      return (extendee is DbDataAdapter);
           63  +    }
           64  +
           65  +    #endregion
           66  +  }
           67  +}

Changes to SQLite.Designer/SQLiteCommandDesigner.cs.

     2      2   {
     3      3     using System;
     4      4     using System.ComponentModel;
     5      5     using System.ComponentModel.Design;
     6      6     using System.Data.Common;
     7      7     using System.Data;
     8      8   
     9         -  [ProvideProperty("CommandDesignTimeVisible", typeof(IDbCommand))]
    10      9     internal sealed class SQLiteCommandDesigner : ComponentDesigner, IExtenderProvider
    11     10     {
    12         -    private object _designer;
    13         -    private Type _designerType;
    14         -    private bool visible;
    15         -
    16     11       public SQLiteCommandDesigner()
    17     12       {
    18         -      _designerType = SQLiteDataAdapterToolboxItem._vsdesigner.GetType("Microsoft.VSDesigner.Data.VS.DataCommandDesigner");
    19         -      _designer = Activator.CreateInstance(_designerType);
    20     13       }
    21     14   
    22     15       public override void Initialize(IComponent component)
    23     16       {
    24         -      visible = ((DbCommand)component).DesignTimeVisible;
    25         -
    26         -      ((ComponentDesigner)_designer).Initialize(component);
    27     17         base.Initialize(component);
    28     18       }
    29     19   
    30         -    public bool GetCommandDesignTimeVisible(IDbCommand cmd)
    31         -    {
    32         -      return visible;
    33         -    }
    34         -
    35         -    public void SetCommandDesignTimeVisible(IDbCommand cmd, bool value)
    36         -    {
    37         -      visible = value;
    38         -      TypeDescriptor.Refresh(cmd);
    39         -    }
    40         -
    41     20       protected override void PreFilterAttributes(System.Collections.IDictionary attributes)
    42     21       {
    43     22         base.PreFilterAttributes(attributes);
    44         -      DesignTimeVisibleAttribute att = new DesignTimeVisibleAttribute(visible);
           23  +      DesignTimeVisibleAttribute att = new DesignTimeVisibleAttribute(((DbCommand)Component).DesignTimeVisible);
    45     24         attributes[att.TypeId] = att;
    46     25       }
    47     26   
    48         -    public override DesignerVerbCollection Verbs
    49         -    {
    50         -      get
    51         -      {
    52         -        return ((ComponentDesigner)_designer).Verbs;
    53         -      }
    54         -    }
    55     27       #region IExtenderProvider Members
    56     28   
    57     29       public bool CanExtend(object extendee)
    58     30       {
    59     31         return (extendee is DbCommand);
    60     32       }
    61     33   
    62     34       #endregion
    63     35     }
    64     36   }

Changes to SQLite.Designer/SQLiteCommandHandler.cs.

   261    261       private void Vacuum()
   262    262       {
   263    263         DataViewHierarchyAccessor.Connection.Command.ExecuteWithoutResults("VACUUM", (int)System.Data.CommandType.Text, null, 0);
   264    264       }
   265    265   
   266    266       private void ChangePassword()
   267    267       {
   268         -      System.Data.SQLite.SQLiteConnection cnn = DataViewHierarchyAccessor.Connection.ConnectionSupport.ProviderObject as System.Data.SQLite.SQLiteConnection;
   269         -      if (cnn == null) return;
          268  +     // System.Data.SQLite.SQLiteConnection cnn = DataViewHierarchyAccessor.Connection.ConnectionSupport.ProviderObject as System.Data.SQLite.SQLiteConnection;
          269  +     // if (cnn == null) return;
   270    270       }
   271    271   
   272    272       private void Refresh(int itemId)
   273    273       {
   274    274         IVsUIHierarchy hier = DataViewHierarchyAccessor.Hierarchy as IVsUIHierarchy;
   275    275   
   276    276         Guid g = VSConstants.GUID_VSStandardCommandSet97;
   277    277         hier.ExecCommand((uint)itemId, ref g, (uint)0xbd, (uint)OleCommandExecutionOption.DoDefault, IntPtr.Zero, IntPtr.Zero);
   278    278       }
   279    279     }
   280    280   }

Changes to SQLite.Designer/SQLiteConnectionProperties.cs.

    10     10     using System;
    11     11     using Microsoft.VisualStudio.Data.AdoDotNet;
    12     12     using Microsoft.VisualStudio.Data;
    13     13     using Microsoft.Win32;
    14     14   
    15     15     internal class SQLiteConnectionProperties : AdoDotNetConnectionProperties
    16     16     {
           17  +    private static System.Reflection.Assembly _sqlite = null;
           18  +
    17     19       static SQLiteConnectionProperties()
    18     20       {
    19     21         AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
    20     22       }
    21     23   
    22         -    static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
           24  +    private static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
    23     25       {
    24     26         if (args.Name.StartsWith("System.Data.SQLite", StringComparison.InvariantCultureIgnoreCase))
    25     27         {
    26         -        using (RegistryKey key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\.NETFramework\\v2.0.50727\\AssemblyFoldersEx\\SQLite"))
    27         -        {
    28         -          if (key != null)
    29         -          {
    30         -            return System.Reflection.Assembly.LoadFrom(System.IO.Path.Combine(key.GetValue(null).ToString(), "System.Data.SQLite.DLL"));
    31         -          }
    32         -        }
           28  +        return SQLiteAssembly;
    33     29         }
    34     30         return null;
    35     31       }
           32  +
           33  +    internal static System.Reflection.Assembly SQLiteAssembly
           34  +    {
           35  +      get
           36  +      {
           37  +        if (_sqlite == null)
           38  +        {
           39  +          using (RegistryKey key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\.NETFramework\\v2.0.50727\\AssemblyFoldersEx\\SQLite"))
           40  +          {
           41  +            if (key != null)
           42  +            {
           43  +              _sqlite = System.Reflection.Assembly.LoadFrom(System.IO.Path.Combine(key.GetValue(null).ToString(), "System.Data.SQLite.DLL"));
           44  +            }
           45  +          }
           46  +        }
           47  +        return _sqlite;
           48  +      }
           49  +    }
    36     50   
    37     51       public SQLiteConnectionProperties() : base("System.Data.SQLite")
    38     52       {
    39     53       }
    40     54   
    41     55       public SQLiteConnectionProperties(string connectionString) : base("System.Data.SQLite", connectionString)
    42     56       {

Added SQLite.Designer/SQLiteConnectionStringEditor.cs.

            1  +namespace SQLite.Designer
            2  +{
            3  +  using System;
            4  +  using System.Reflection;
            5  +  using System.Data;
            6  +  using System.Data.Common;
            7  +  using System.ComponentModel.Design;
            8  +  using System.ComponentModel;
            9  +
           10  +  internal sealed class SQLiteConnectionStringEditor : ObjectSelectorEditor
           11  +  {
           12  +    private ObjectSelectorEditor.Selector _selector = null;
           13  +
           14  +    private Type _managerType = null;
           15  +
           16  +    public SQLiteConnectionStringEditor()
           17  +    {
           18  +      Assembly assm = Assembly.Load("Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
           19  +      if (assm != null)
           20  +      {
           21  +        _managerType = assm.GetType("Microsoft.VSDesigner.Data.VS.VsConnectionManager");
           22  +      }
           23  +    }
           24  +
           25  +    public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
           26  +    {
           27  +      if (provider == null || context == null) return value;
           28  +      if (context.Instance == null) return value;
           29  +
           30  +      try
           31  +      {
           32  +        context.OnComponentChanging();
           33  +        object newConnection = base.EditValue(provider, value);
           34  +        string connectionString = newConnection as string;
           35  +        int index = -1;
           36  +
           37  +        if (connectionString == null && newConnection != null)
           38  +        {
           39  +          if (_managerType != null)
           40  +          {
           41  +            object manager = Activator.CreateInstance(_managerType, new object[] { provider });
           42  +            if (manager != null)
           43  +            {
           44  +              index = (int)_managerType.InvokeMember("AddNewConnection", BindingFlags.Instance | BindingFlags.InvokeMethod, null, manager, new object[] { "System.Data.SQLite" });
           45  +              if (index > -1 && _selector != null)
           46  +              {
           47  +                connectionString = (string)_managerType.InvokeMember("GetConnectionString", BindingFlags.Instance | BindingFlags.InvokeMethod, null, manager, new object[] { index });
           48  +                _selector.SelectedNode = _selector.AddNode((string)_managerType.InvokeMember("GetConnectionName", BindingFlags.Instance | BindingFlags.InvokeMethod, null, manager, new object[] { index }), connectionString, null);
           49  +              }
           50  +            }
           51  +          }
           52  +          // VsConnectionManager manager1 = new VsConnectionManager(serviceProvider);
           53  +          // manager1.AddNewConnection(this.ManagedProviderInvariantName);
           54  +        }
           55  +
           56  +        if (String.IsNullOrEmpty(connectionString) == false)
           57  +        {
           58  +          value = connectionString;
           59  +        }
           60  +        context.OnComponentChanged();
           61  +      }
           62  +      catch
           63  +      {
           64  +      }
           65  +      return value;
           66  +    }
           67  +
           68  +    protected override void FillTreeWithData(Selector selector, ITypeDescriptorContext context, IServiceProvider provider)
           69  +    {
           70  +      object manager = Activator.CreateInstance(_managerType, new object[] { provider });
           71  +      DbConnection connection = (DbConnection)context.Instance;
           72  +      ObjectSelectorEditor.SelectorNode node;
           73  +
           74  +      _selector = selector;
           75  +
           76  +      if (manager != null)
           77  +      {
           78  +        int items = (int)_managerType.InvokeMember("GetConnectionCount", BindingFlags.Instance | BindingFlags.InvokeMethod, null, manager, null);
           79  +        string dataProvider;
           80  +        string connectionString;
           81  +        string connectionName;
           82  +
           83  +        for (int n = 0; n < items; n++)
           84  +        {
           85  +          connectionString = (string)_managerType.InvokeMember("GetConnectionString", BindingFlags.Instance | BindingFlags.InvokeMethod, null, manager, new object[] { n });
           86  +          connectionName = (string)_managerType.InvokeMember("GetConnectionName", BindingFlags.Instance | BindingFlags.InvokeMethod, null, manager, new object[] { n });
           87  +          dataProvider = (string)_managerType.InvokeMember("GetProvider", BindingFlags.Instance | BindingFlags.InvokeMethod, null, manager, new object[] { n });
           88  +          if (String.Compare(dataProvider, "System.Data.SQLite", true) == 0)
           89  +          {
           90  +            node = selector.AddNode(connectionName, connectionString, null);
           91  +            
           92  +            if (String.Compare(connectionString, connection.ConnectionString, true) == 0)
           93  +              selector.SelectedNode = node;
           94  +          }
           95  +        }
           96  +      }
           97  +    }
           98  +  }
           99  +}

Changes to SQLite.Designer/SQLiteDataAdapterToolboxItem.cs.

     1      1   namespace SQLite.Designer
     2      2   {
     3      3     using System;
     4      4     using System.ComponentModel;
     5      5     using System.ComponentModel.Design;
     6      6     using System.Drawing.Design;
     7         -  using System.Data.SQLite;
     8      7     using System.Data.Common;
     9      8     using System.Reflection;
    10      9     using System.Collections.Generic;
    11     10     using System.Windows.Forms;
    12     11     using System.Drawing;
    13     12     using System.Runtime.Serialization;
    14     13   
    15     14     [Serializable]
    16     15     [ToolboxItem(typeof(SQLiteDataAdapterToolboxItem))]
    17     16     internal sealed class SQLiteDataAdapterToolboxItem : ToolboxItem
    18     17     {
    19     18       private static Type _wizard = null;
           19  +    
    20     20       internal static Assembly _vsdesigner = null;
    21         -
    22     21       static SQLiteDataAdapterToolboxItem()
    23     22       {
    24     23         _vsdesigner = Assembly.Load("Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
    25         -
    26     24         _wizard = _vsdesigner.GetType("Microsoft.VSDesigner.Data.VS.DataAdapterWizard");
    27     25       }
    28     26   
    29     27       public SQLiteDataAdapterToolboxItem(Type type) : this(type, (Bitmap)null)
    30     28       {
    31     29       }
    32     30   
    33         -
    34         -    public SQLiteDataAdapterToolboxItem(Type type, Bitmap bmp) : base(typeof(SQLiteDataAdapter))
           31  +    public SQLiteDataAdapterToolboxItem(Type type, Bitmap bmp) : base(type)
    35     32       {
    36     33         DisplayName = "SQLiteDataAdapter";
    37     34       }
    38     35   
    39         -    private SQLiteDataAdapterToolboxItem(SerializationInfo info, StreamingContext context) : base(typeof(SQLiteDataAdapter))
           36  +    private SQLiteDataAdapterToolboxItem(SerializationInfo info, StreamingContext context)
    40     37       {
    41     38         Deserialize(info, context);
    42     39       }
    43     40   
    44     41       protected override IComponent[] CreateComponentsCore(IDesignerHost host)
    45     42       {
    46         -      SQLiteDataAdapter adp = new SQLiteDataAdapter();
           43  +      DbProviderFactory fact = DbProviderFactories.GetFactory("System.Data.SQLite");
    47     44   
    48         -      if (adp == null) return null;
    49         -
           45  +      DbDataAdapter dataAdapter = fact.CreateDataAdapter();
    50     46         IContainer container = host.Container;
           47  +      
           48  +      using (DbCommand adapterCommand = fact.CreateCommand())
           49  +      {
           50  +        adapterCommand.DesignTimeVisible = false;
           51  +        dataAdapter.SelectCommand = (DbCommand)((ICloneable)adapterCommand).Clone();
           52  +        container.Add(dataAdapter.SelectCommand, GenerateName(container, "SelectCommand"));
    51     53   
    52         -      adp.SelectCommand = new SQLiteCommand();
    53         -      adp.SelectCommand.DesignTimeVisible = false;
    54         -      container.Add(adp.SelectCommand, GenerateName(container, "SelectCommand"));
           54  +        dataAdapter.InsertCommand = (DbCommand)((ICloneable)adapterCommand).Clone();
           55  +        container.Add(dataAdapter.InsertCommand, GenerateName(container, "InsertCommand"));
    55     56   
    56         -      adp.InsertCommand = new SQLiteCommand();
    57         -      adp.InsertCommand.DesignTimeVisible = false;
    58         -      container.Add(adp.InsertCommand, GenerateName(container, "InsertCommand"));
           57  +        dataAdapter.UpdateCommand = (DbCommand)((ICloneable)adapterCommand).Clone();
           58  +        container.Add(dataAdapter.UpdateCommand, GenerateName(container, "UpdateCommand"));
    59     59   
    60         -      adp.UpdateCommand = new SQLiteCommand();
    61         -      adp.UpdateCommand.DesignTimeVisible = false;
    62         -      container.Add(adp.UpdateCommand, GenerateName(container, "UpdateCommand"));
           60  +        dataAdapter.DeleteCommand = (DbCommand)((ICloneable)adapterCommand).Clone();
           61  +        container.Add(dataAdapter.DeleteCommand, GenerateName(container, "DeleteCommand"));
           62  +      }
    63     63   
    64         -      adp.DeleteCommand = new SQLiteCommand();
    65         -      adp.DeleteCommand.DesignTimeVisible = false;
    66         -      container.Add(adp.DeleteCommand, GenerateName(container, "DeleteCommand"));
    67         -
    68         -      ITypeResolutionService res = (ITypeResolutionService)host.GetService(typeof(ITypeResolutionService));
    69         -      if (res != null)
           64  +      ITypeResolutionService typeResService = (ITypeResolutionService)host.GetService(typeof(ITypeResolutionService));
           65  +      if (typeResService != null)
    70     66         {
    71         -        res.ReferenceAssembly(typeof(SQLiteDataAdapter).Assembly.GetName());
           67  +        typeResService.ReferenceAssembly(dataAdapter.GetType().Assembly.GetName());
    72     68         }
    73         -      container.Add(adp);
           69  +
           70  +      container.Add(dataAdapter);
    74     71   
    75     72         List<IComponent> list = new List<IComponent>();
    76         -      list.Add(adp);
           73  +      list.Add(dataAdapter);
    77     74   
    78     75         if (_wizard != null)
    79     76         {
    80         -        using (Form wizard = (Form)Activator.CreateInstance(_wizard, new object[] { host, adp }))
           77  +        using (Form wizard = (Form)Activator.CreateInstance(_wizard, new object[] { host, dataAdapter }))
    81     78           {
    82     79             wizard.ShowDialog();
    83     80           }
    84     81         }
    85     82   
    86         -      if (adp.SelectCommand != null) list.Add(adp.SelectCommand);
    87         -      if (adp.InsertCommand != null) list.Add(adp.InsertCommand);
    88         -      if (adp.DeleteCommand != null) list.Add(adp.DeleteCommand);
    89         -      if (adp.UpdateCommand != null) list.Add(adp.UpdateCommand);
           83  +      if (dataAdapter.SelectCommand != null) list.Add(dataAdapter.SelectCommand);
           84  +      if (dataAdapter.InsertCommand != null) list.Add(dataAdapter.InsertCommand);
           85  +      if (dataAdapter.DeleteCommand != null) list.Add(dataAdapter.DeleteCommand);
           86  +      if (dataAdapter.UpdateCommand != null) list.Add(dataAdapter.UpdateCommand);
    90     87   
    91     88         return list.ToArray();      
    92     89       }
    93     90   
    94     91       private static string GenerateName(IContainer container, string baseName)
    95     92       {
    96     93         ComponentCollection coll = container.Components;

Changes to SQLite.Interop/SQLite.Interop.vcproj.

   107    107   			/>
   108    108   			<Tool
   109    109   				Name="VCWebDeploymentTool"
   110    110   			/>
   111    111   			<Tool
   112    112   				Name="VCPostBuildEventTool"
   113    113   				Description="Merging binaries ..."
   114         -				CommandLine="..\bin\tools\mergebin.exe /S:.clr ..\System.Data.SQLite\bin\$(TargetFileName) $(TargetPath)&#x0D;&#x0A;sn -Ra $(TargetPath) ..\System.Data.SQLite\System.Data.SQLite.snk&#x0D;&#x0A;"
          114  +				CommandLine="..\bin\tools\mergebin.exe /S:.clr ..\System.Data.SQLite\bin\$(TargetFileName) $(TargetPath)&#x0D;&#x0A;sn -Ra $(TargetPath) ..\System.Data.SQLite\System.Data.SQLite.snk&#x0D;&#x0A;COPY $(TargetDir)System.Data.SQLite.* $(VSInstallDir)Common7\IDE\PublicAssemblies"
   115    115   			/>
   116    116   		</Configuration>
   117    117   		<Configuration
   118    118   			Name="Release|Pocket PC 2003 (ARMV4)"
   119    119   			OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
   120    120   			IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
   121    121   			ConfigurationType="2"
................................................................................
   455    455   				Name="VCAppVerifierTool"
   456    456   			/>
   457    457   			<Tool
   458    458   				Name="VCWebDeploymentTool"
   459    459   			/>
   460    460   			<Tool
   461    461   				Name="VCPostBuildEventTool"
          462  +				CommandLine="COPY $(TargetDir)System.Data.SQLite.* $(VSInstallDir)Common7\IDE\PublicAssemblies"
   462    463   			/>
   463    464   		</Configuration>
   464    465   		<Configuration
   465    466   			Name="Debug|Pocket PC 2003 (ARMV4)"
   466    467   			OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
   467    468   			IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
   468    469   			ConfigurationType="2"

Changes to System.Data.SQLite/SQLiteConnection.cs.

   482    482       /// <description>N</description>
   483    483       /// <description>Y</description>
   484    484       /// </item>
   485    485       /// </list>
   486    486       /// </remarks>
   487    487   #if !PLATFORM_COMPACTFRAMEWORK
   488    488       [RefreshProperties(RefreshProperties.All), DefaultValue("")]
          489  +    [Editor("SQLite.Designer.SQLiteConnectionStringEditor, SQLite.Designer, Version=1.0.26.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
   489    490   #endif
   490    491       public override string ConnectionString
   491    492       {
   492    493         get
   493    494         {
   494    495           return _connectionString;
   495    496         }

Changes to System.Data.SQLite/SQLiteDataAdapter.cs.

    14     14   
    15     15     /// <summary>
    16     16     /// SQLite implementation of DbDataAdapter.
    17     17     /// </summary>
    18     18   #if !PLATFORM_COMPACTFRAMEWORK
    19     19     [DefaultEvent("RowUpdated")]
    20     20     [ToolboxItem("SQLite.Designer.SQLiteDataAdapterToolboxItem, SQLite.Designer, Version=1.0.26.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139")]
    21         -  [Designer("Microsoft.VSDesigner.Data.VS.SqlDataAdapterDesigner, Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
           21  +  [Designer("SQLite.Designer.SQLiteAdapterDesigner, SQLite.Designer, Version=1.0.26.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139")]
    22     22   #endif
    23     23     public sealed class SQLiteDataAdapter : DbDataAdapter
    24     24     {
    25     25       private static object _updatingEventPH = new object();
    26     26       private static object _updatedEventPH = new object();
    27     27   
    28     28       /// <overloads>