System.Data.SQLite
Check-in [3013b98ea2]
Not logged in

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

Overview
Comment:Improve error handling in the design-time components when the provider is not found.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | designOptions
Files: files | file ages | folders
SHA1: 3013b98ea2fb4aa7d1d4d711ef9cd43168f34a03
User & Date: mistachkin 2014-08-04 03:38:52
Context
2014-08-08
23:17
For the applicable setup packages, register the System.Data.SQLite.EF6 assembly in the Global Assembly Cache. check-in: a451b0fe1d user: mistachkin tags: designOptions
2014-08-04
03:38
Improve error handling in the design-time components when the provider is not found. check-in: 3013b98ea2 user: mistachkin tags: designOptions
2014-08-03
20:03
Improve robustness of the design-time components installer when no assemblies are available to install. check-in: f9873f2b98 user: mistachkin tags: designOptions
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to SQLite.Designer/SQLiteConnectionUIControl.cs.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
..
55
56
57
58
59
60
61






62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77



78
79
80
81
82
83
84
85



86
87
88
89
90
91
92
93



94
95
96
97
98
99
100
...
105
106
107
108
109
110
111



112
113
114
115
116
117
118
119
120
121
122
123



124
125
126
127
128
129



130
131
132
133
134
135



136
137
138
139
/********************************************************
 * ADO.NET 2.0 Data Provider for SQLite Version 3.X
 * Written by Robert Simpson (robert@blackcastlesoft.com)
 * 
 * Released to the public domain, use at your own risk!
 ********************************************************/

namespace SQLite.Designer
{
  using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;
  using System.Globalization;
  using Microsoft.VisualStudio.Data;
  using Microsoft.Win32;

  /// <summary>
  /// Provides a UI to edit/create SQLite database connections
  /// </summary>
  [ToolboxItem(false)]
  public partial class SQLiteConnectionUIControl : DataConnectionUIControl
  {
................................................................................
    }

    #region IDataConnectionUIControl Members

    public override void LoadProperties()
    {
      SQLiteOptions.SelectProviderName(providerComboBox);







      if (ConnectionProperties.Contains("data source"))
        fileTextBox.Text = ConnectionProperties["data source"] as string;
      else
        fileTextBox.Text = String.Empty;

      if (ConnectionProperties.Contains("password"))
        passwordTextBox.Text = ConnectionProperties["password"] as string;
      else
        passwordTextBox.Text = String.Empty;
    }

    #endregion

    private void passwordTextBox_Leave(object sender, EventArgs e)
    {



      if (String.IsNullOrEmpty(passwordTextBox.Text))
        ConnectionProperties.Remove("password");
      else
        ConnectionProperties["password"] = passwordTextBox.Text;
    }

    private void encoding_Changed(object sender, EventArgs e)
    {



      if (utf8RadioButton.Checked == true)
        ConnectionProperties.Remove("useutf16encoding");
      else
        ConnectionProperties["useutf16encoding"] = utf16RadioButton.Checked;
    }

    private void datetime_Changed(object sender, EventArgs e)
    {



      if (iso8601RadioButton.Checked == true)
        ConnectionProperties.Remove("datetimeformat");
      else if (ticksRadioButton.Checked == true)
        ConnectionProperties["datetimeformat"] = "Ticks";
      else
        ConnectionProperties["datetimeformat"] = "JulianDay";
    }
................................................................................

        if (item != null)
            SQLiteOptions.SetProviderName(item.ToString());
    }

    private void sync_Changed(object sender, EventArgs e)
    {



      string sync = "Normal";
      if (fullRadioButton.Checked == true) sync = "Full";
      else if (offRadioButton.Checked == true) sync = "Off";

      if (sync == "Normal")
        ConnectionProperties.Remove("synchronous");
      else
        ConnectionProperties["synchronous"] = sync;
    }

    private void pageSizeTextBox_Leave(object sender, EventArgs e)
    {



      int n = Convert.ToInt32(pageSizeTextBox.Text, CultureInfo.CurrentCulture);
      ConnectionProperties["page size"] = n;
    }

    private void cacheSizeTextbox_Leave(object sender, EventArgs e)
    {



      int n = Convert.ToInt32(cacheSizeTextbox.Text, CultureInfo.CurrentCulture);
      ConnectionProperties["cache size"] = n;
    }

    private void fileTextBox_Leave(object sender, EventArgs e)
    {



      ConnectionProperties["data source"] = fileTextBox.Text;
    }
  }
}



|






<

<
<
<



<







 







>
>
>
>
>
>



<
<



<
<






>
>
>








>
>
>








>
>
>







 







>
>
>












>
>
>






>
>
>






>
>
>




1
2
3
4
5
6
7
8
9
10

11



12
13
14

15
16
17
18
19
20
21
..
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65


66
67
68


69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
...
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/********************************************************
 * ADO.NET 2.0 Data Provider for SQLite Version 3.X
 * Written by Robert Simpson (robert@blackcastlesoft.com)
 *
 * Released to the public domain, use at your own risk!
 ********************************************************/

namespace SQLite.Designer
{
  using System;

  using System.ComponentModel;



  using System.Windows.Forms;
  using System.Globalization;
  using Microsoft.VisualStudio.Data;


  /// <summary>
  /// Provides a UI to edit/create SQLite database connections
  /// </summary>
  [ToolboxItem(false)]
  public partial class SQLiteConnectionUIControl : DataConnectionUIControl
  {
................................................................................
    }

    #region IDataConnectionUIControl Members

    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;


    }

    #endregion

    private void passwordTextBox_Leave(object sender, EventArgs e)
    {
      if (ConnectionProperties == null)
       return;

      if (String.IsNullOrEmpty(passwordTextBox.Text))
        ConnectionProperties.Remove("password");
      else
        ConnectionProperties["password"] = passwordTextBox.Text;
    }

    private void encoding_Changed(object sender, EventArgs e)
    {
      if (ConnectionProperties == null)
        return;

      if (utf8RadioButton.Checked == true)
        ConnectionProperties.Remove("useutf16encoding");
      else
        ConnectionProperties["useutf16encoding"] = utf16RadioButton.Checked;
    }

    private void datetime_Changed(object sender, EventArgs e)
    {
      if (ConnectionProperties == null)
        return;

      if (iso8601RadioButton.Checked == true)
        ConnectionProperties.Remove("datetimeformat");
      else if (ticksRadioButton.Checked == true)
        ConnectionProperties["datetimeformat"] = "Ticks";
      else
        ConnectionProperties["datetimeformat"] = "JulianDay";
    }
................................................................................

        if (item != null)
            SQLiteOptions.SetProviderName(item.ToString());
    }

    private void sync_Changed(object sender, EventArgs e)
    {
      if (ConnectionProperties == null)
        return;

      string sync = "Normal";
      if (fullRadioButton.Checked == true) sync = "Full";
      else if (offRadioButton.Checked == true) sync = "Off";

      if (sync == "Normal")
        ConnectionProperties.Remove("synchronous");
      else
        ConnectionProperties["synchronous"] = sync;
    }

    private void pageSizeTextBox_Leave(object sender, EventArgs e)
    {
      if (ConnectionProperties == null)
        return;

      int n = Convert.ToInt32(pageSizeTextBox.Text, CultureInfo.CurrentCulture);
      ConnectionProperties["page size"] = n;
    }

    private void cacheSizeTextbox_Leave(object sender, EventArgs e)
    {
      if (ConnectionProperties == null)
        return;

      int n = Convert.ToInt32(cacheSizeTextbox.Text, CultureInfo.CurrentCulture);
      ConnectionProperties["cache size"] = n;
    }

    private void fileTextBox_Leave(object sender, EventArgs e)
    {
      if (ConnectionProperties == null)
        return;

      ConnectionProperties["data source"] = fileTextBox.Text;
    }
  }
}