具体代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;namespace 第二个mdf
{
    class Program
    {
        static void Main(string[] args)
        {
            string dataDir = AppDomain.CurrentDomain.BaseDirectory;
            if (dataDir.EndsWith(@"\bin\Debug\")
                || dataDir.EndsWith(@"\bin\Release\"))
            {
                dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
                AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
            }
            SqlConnection conn = new SqlConnection(@"
Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\D
atabase1.mdf;Integrated Security=True;User Instance=True");
            conn.Open();
            Console.WriteLine("数据库连接成功");
                Console.ReadKey();调试的时候,在下面这段总是抛异常}
            SqlConnection conn = new SqlConnection(@"
Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\D
atabase1.mdf;Integrated Security=True;User Instance=True");这到底是怎么回事啊?谢谢了

解决方案 »

  1.   

    图片挂掉了 下面是异常的详细信息:未处理 System.ArgumentException
      Message="路径中具有非法字符。"
      Source="mscorlib"
      StackTrace:
           在 System.IO.Path.CheckInvalidPathChars(String path)
           在 System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
           在 System.IO.Path.NormalizePath(String path, Boolean fullCheck)
           在 System.IO.Path.GetFullPathInternal(String path)
           在 System.IO.Path.GetFullPath(String path)
           在 System.Data.Common.ADP.GetFullPath(String filename)
           在 System.Data.Common.DbConnectionOptions.ExpandDataDirectory(String keyword, String value, String& datadir)
           在 System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
           在 System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous)
           在 System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(String connectionString, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions)
           在 System.Data.SqlClient.SqlConnection.ConnectionString_Set(String value)
           在 System.Data.SqlClient.SqlConnection.set_ConnectionString(String value)
           在 System.Data.SqlClient.SqlConnection..ctor(String connectionString)
           在 第二个mdf.Program.Main(String[] args) 位置 C:\Users\pan\Desktop\c#程序\第二个mdf\第二个mdf\Program.cs:行号 20
           在 System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
           在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           在 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           在 System.Threading.ThreadHelper.ThreadStart()
      InnerException: 
      

  2.   

    C:\Users\pan\Desktop\c#程序\第二个mdf\第二个mdf\Program.cs:
    1、你把路径里面的#号去掉。
    2、如果还不行,把中文目录都换成英文的。