我试图使用来自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>
你可以包括你整个的app.config?这听起来像是格式不正确。 – 2014-10-18 20:12:53
你应该看看[我们可以停止使用AddWithValue()了吗?](http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/)并停止使用'.AddWithValue()' - 它可能会导致意外的和令人惊讶的结果... – 2014-10-18 20:12:57
检查调试器中的异常对象(或ToString异常而不是仅显示消息属性)。通常,对于这种错误,有一个内部例外,更多细节。 – 2014-10-18 20:14:01