System.Data.SQLite

Check-in [3013b98ea2]
Login

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
Timelines: family | ancestors | descendants | both | designOptions
Files: files | file ages | folders
SHA1: 3013b98ea2fb4aa7d1d4d711ef9cd43168f34a03
User & Date: mistachkin 2014-08-04 03:38:52.992
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
Unified Diff 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
/********************************************************
 * 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
  {



|






<

<
<
<



<







1
2
3
4
5
6
7
8
9
10

11



12
13
14

15
16
17
18
19
20
21
/********************************************************
 * 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
  {
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
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
    }

    #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";
    }

    private void provider_Changed(object sender, EventArgs e)
    {
        object item = providerComboBox.SelectedItem;

        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;
    }
  }
}







>
>
>
>
>
>



<
<



<
<






>
>
>








>
>
>








>
>
>


















>
>
>












>
>
>






>
>
>






>
>
>




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
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
    }

    #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";
    }

    private void provider_Changed(object sender, EventArgs e)
    {
        object item = providerComboBox.SelectedItem;

        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;
    }
  }
}