在Windows Forms中回收连接字符串

问题描述 投票:0回答:1

我试图重用一个从DataGridView创建的连接字符串。我似乎无法将Settings.settings文件中的值转换为可用的连接字符串。有什么办法可以解决Connection_String SHOULD 样子?

错误,初始化字符串的格式不符合从索引0开始的规范。

初始化字符串的格式不符合从索引0开始的规范。

代码:设置.Designer.cs

 // 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"]));
c# sql forms connection-string
1个回答
0
投票

ConnectionString只是一个字符串。我建议使用 SqlConnectionStringBuilder 类。它使创建一个有效的连接字符串变得更加容易。

你可以用以下方法获得完整的ConnectionString .ToString()


0
投票

解决的办法最后是Windows Forms和ASP.NET的区别。我需要在Settings.settings文件中找到配置,然后钻研。Windows窗体将连接字符串存储为 "Properties.Settings.Default.name of connection here.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())

等。

© www.soinside.com 2019 - 2024. All rights reserved.