我试图重用一个从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"]));
ConnectionString只是一个字符串。我建议使用 SqlConnectionStringBuilder 类。它使创建一个有效的连接字符串变得更加容易。
你可以用以下方法获得完整的ConnectionString .ToString()
解决的办法最后是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())
等。