我正在尝试使用来自Windows窗体应用程序的输入进入localdb,但是当我将数据发送到数据库时,它返回“配置系统无法初始化”。
try
{
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["database"].ConnectionString);
SqlCommand cmd = conn.CreateCommand();person newPerson = new person(FirstNameBox.Text, phoneBox.Text, emailBox.Text, LastNameBox.Text);
cmd.CommandText = @"INSERT INTO Person (FirstName, LastName, Email,Phone)
VALUES(@FirstName, @LastName, @Email, @Phone)";
cmd.Parameters.AddWithValue("@FirstName", newPerson.getFirstName());
cmd.Parameters.AddWithValue("@LastName", newPerson.getLastName());
cmd.Parameters.AddWithValue("@Email", newPerson.getEmail());
cmd.Parameters.AddWithValue("@Phone", newPerson.getPhone());
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
if (!ValidateForm())
return;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
这是app.config
部分
<?xml version="1.0" encoding="utf-8" ?>
<configSections>
<connectionStrings>
<add name="database"
connectionString=" Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Matthew\Documents\Visual Studio 2012\Projects\Midterm\Midterm\Database1.mdf;Integrated Security=True"></add>
</connectionStrings>
</configSections>
<connectionStrings>
<add name="Midterm.Properties.Settings.Database1ConnectionString"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
答案 0 :(得分:2)
我在这里看到的最明显的问题是你的app.config指定了一个<connectionString>
部分,它应该是<connectionStrings>
(注意 s )。
您可能希望提供整个app.config,因为可能存在阻止ConfigurationManager
加载您的app.config的其他语法/配置问题。
编辑更新的app.config :
您的app.config文件格式不正确。 <configSections>
不应该是文件的根元素(它应该是<configuration>
)。
ConfigurationManager.ConnectionStrings的MSDN文档显示了应该将app.config文件格式化为的示例。
但是,简而言之,<connectionStrings>
元素(以及其他元素,例如<startup>
)应该是<configuration>
的子元素。
你的app.config应该是什么样的:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
*** ADD YOUR <add> LINES HERE ***
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>