具体代码如下:
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");这到底是怎么回事啊?谢谢了
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");这到底是怎么回事啊?谢谢了
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:
1、你把路径里面的#号去掉。
2、如果还不行,把中文目录都换成英文的。