Повторное использование строки подключения в Windows формах C# - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь повторно использовать строку подключения, созданную из DataGridView. Кажется, я не могу перевести значение в файле Settings.settings в пригодную для использования строку подключения. Любые идеи о том, как должна выглядеть Connection_String SHOULD ?

Ошибка:

Формат строки инициализации не соответствует спецификации, начиная с индекса 0.

Код:

 // This fills the gridview
                this.loanacctTableAdapter.FillBy(this.innovate_Loan_ServicingDataSet.loanacct, ((decimal)(System.Convert.ChangeType(acctrefnoToolStripTextBox.Text, typeof(decimal)))));

// This tries to use the same connection
 Connection_String = SpecialSetting.ConnectionString.ToString();
 Command = "SELECT acctrefno FROM loanacct WHERE acctrefno = " + AcctrefnoToolStripTextBox.Text + "";
SqlConnection Conn = new SqlConnection(Connection_String);
SqlCommand Comm1 = new SqlCommand(Command, Conn);
Conn.Open();
SqlDataReader DR1 = Comm1.ExecuteReader();
if (DR1.Read())
   {
   textBox1.Text = DR1.GetValue(0).ToString();
   textBox1.ReadOnly = true;
   }
Conn.Close();

Settings.Designer. cs

        [global::System.Configuration.ApplicationScopedSettingAttribute()]
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=ILSVUPGRADE01;Initial Catalog=Innovate_Loan_Servicing;Integrated Secu" +
            "rity=True")]
        public string Innovate_Loan_ServicingConnectionString {
            get {
                return ((string)(this["Innovate_Loan_ServicingConnectionString"]));

Ответы [ 2 ]

0 голосов
/ 06 мая 2020

Решением стало различие между Windows Forms и ASP. NET. Мне нужно было найти конфигурацию в файле Settings.settings и развернуть. Формы Windows хранят строку подключения как «Properties.Settings.Default. Имя подключения здесь.ToString (); затем команду и подключение можно установить просто. ASP. NET устанавливает строку подключения в ConfigurationSettings.AppSettings ("myConnectionString").

Мой код в итоге выглядел так.

string Connection_String = Properties.Settings.Default.Innovate_Loan_ServicingConnectionString.ToString();
string Command = "SELECT acctrefno, loan_number, [shortname], [loan_group_no] FROM loanacct WHERE acctrefno = " + acctrefnoToolStripTextBox.Text + "";
SqlConnection Conn = new SqlConnection(Connection_String);
SqlCommand Comm1 = new SqlCommand(Command, Conn);
Conn.Open();
SqlDataReader DR1 = Comm1.ExecuteReader();
if (DR1.Read())

et c.

0 голосов
/ 05 мая 2020

ConnectionString - это просто строка. Я предлагаю использовать класс SqlConnectionStringBuilder . Это значительно упрощает создание допустимой строки подключения.

Вы можете получить полную строку ConnectionString с помощью .ToString()

...