我在Visual Studio 2013创建的SQL Server数据库。
我有一个问题,当我试图创建一个新的SqlConnection
对象。相同的代码昨天工作了,但是现在我遇到了一些问题。我还添加了SQLException
,但我找不到此代码
try
{
string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString;
SqlConnection sqlConnection = new SqlConnection(connectionString);
sqlConnection.Open();
}
catch (System.Data.SqlClient.SqlException sqlException)
{
System.Windows.Forms.MessageBox.Show(sqlException.Message);
}
Application.Run(new LoginForm());
SqlConnection
没有工作。这是例外。我不知道它是什么错误的,因为它没有前工作
未处理System.TypeInitializationException
HResult = -2146233036
Message ='System.Data.SqlClient.SqlConnection'的类型初始值设定项引发了异常。
来源= System.Data
类型名= System.Data.SqlClient.SqlConnectionStackTrace:
在System.Data.SqlClient.SqlConnection..ctor(字符串的connectionString)
在d:\ Taekwon-Do \ MercazApp \ MercazApp \ MercazApp \ Program.cs:line 26的MercazApp.Program.Main()中的InnerException信息:System.InvalidOperationException
HResult = -2146233079
消息=无法读取飞地提供商的配置部分。确保在应用程序配置文件中该部分的格式正确。错误消息:配置系统无法初始化
源= System.DataStackTrace:
在System.Data.SqlClient.SqlConnection..cctor()
InnerException:System.Configuration.ConfigurationErrorsException
HResult = -2146232062
消息=配置系统初始化失败
来源= System.Configuration
BareMessage =配置系统无法初始化
行= 0InnerException:System.Configuration.ConfigurationErrorsException
HResult = -2146232062
Message =根元素丢失。 (C:\ Users \用户来自Alexs \应用程序数据\本地\ MercazApp \ MercazApp.exe_Url_ka1yz14eyfxx0cttxywliv5ag3ke50uk \ 1.0.0.0 \ user.config)
来源= System.Configuration
BareMessage =缺少根元素。
文件名= C:\ Users \用户来自Alexs \应用程序数据\本地\ MercazApp \ MercazApp.exe_Url_ka1yz14eyfxx0cttxywliv5ag3ke50uk \ 1.0.0.0 \ user.config
线= 0的InnerException信息:System.Xml.XmlException
HResult = -2146232000
消息=缺少根元素。
Source = System.Xml
app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="MercazApp.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<connectionStrings>
<add name="MyKey"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=D:\Taekwon-Do\MercazApp\DB\LoginDb.mdf;Integrated Security=True;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<userSettings>
<MercazApp.Properties.Settings>
<setting name="username" serializeAs="String">
<value />
</setting>
<setting name="password" serializeAs="String">
<value />
</setting>
<setting name="name" serializeAs="String">
<value />
</setting>
</MercazApp.Properties.Settings>
</userSettings>
</configuration>
答案 0 :(得分:1)
根元素丢失。 (C:\ Users \ alexs \ AppData \ Local \ MercazApp \ MercazApp.exe_Url_ka1yz14eyfxx0cttxywliv5ag3ke50uk \ 1.0.0.0 \ user.config)
似乎相关。该文件可能更改为错误的文件。检查一下。
我真不敢相信你!我将该文件夹重命名为old,在构建之后再次创建了该文件夹,现在可以正常使用了!!我花了四个小时。您在哪里看到该错误以及原因所在?
我只是完整地阅读了异常。异常包含很多信息。值得养成充分阅读,理解和解释它的习惯。
答案 1 :(得分:0)
尝试将连接字符串直接放入代码中,以代替表示以下内容的行:
string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString;
这将告诉您是否是web.config问题。由于它突然开始播放,因此IIS中的某些配置更改很可能触发了Web配置的更新。
也值得一试whther有不同的文件夹(包括app_data文件),如果你找到一个没有内容,只需要删除它的任何其他.config文件。