1

我正在使用 SQL Server CE 编写 C# 应用程序。当我得到这个异常时,Evrtting 工作正常:“ 'VideoStoreManager.AppData.DataBaseManager' 的类型初始化程序引发了异常。 ”对于这行代码:DataBaseManager.Connection.Open();

这是整个例外:

System.TypeInitializationException was unhandled
  Message="The type initializer for 'VideoStoreManager.AppData.DataBaseManager' threw an exception."
  Source="VideoStoreManager"
  TypeName="VideoStoreManager.AppData.DataBaseManager"
  StackTrace:
   at VideoStoreManager.AppData.DataBaseManager.get_Connection()
   at VideoStoreManager.Security.SecurityManager.AuthenticateUser(String username, String password) in D:\Владиславко\Четвърти курс\Разпределени приложения\Video Store Manager\VideoStoreManager\Security\SecurityManager.cs:line 51
   at VideoStoreManager.GUI.Forms.frmLogin.btnLogin_Click(Object sender, EventArgs e) in D:\Владиславко\Четвърти курс\Разпределени приложения\Video Store Manager\VideoStoreManager\GUI\Forms\frmLogin.cs:line 40
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
   at VideoStoreManager.Program.Main() in D:\Владиславко\Четвърти курс\Разпределени приложения\Video Store Manager\VideoStoreManager\Program.cs:line 26
   at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
  InnerException: System.ArgumentException
   Message="Format of the initialization string does not conform to specification starting at index 0."
   Source="System.Data.SqlServerCe"
   StackTrace:
        at System.Data.SqlServerCe.ConStringUtil.GetKeyValuePair(Char[] connectionString, Int32 currentPosition, String& key, Char[] valuebuf, Int32& vallength, Boolean& isempty)
        at System.Data.SqlServerCe.ConStringUtil.ParseStringIntoHashtable(String conString, Hashtable values)
        at System.Data.SqlServerCe.ConStringUtil.ParseConnectionString(String& connectionString)
        at System.Data.SqlServerCe.SqlCeConnection.set_ConnectionString(String value)
        at VideoStoreManager.AppData.DataBaseManager..cctor() in D:\Владиславко\Четвърти курс\Разпределени приложения\Video Store Manager\VideoStoreManager\AppData\DataBaseManager.cs:line 28
   InnerException:
4

1 回答 1

3

问题是您的连接字符串对 SqlServerCe 无效。从内部异常:

"Format of the initialization string does not conform to specification starting at index 0."

于 2011-11-19T19:57:26.580 回答