这就是我遇到的问题:
发生异常
epos\SQLPlaygroundV1\SchoolDB.mdf失败。存在具有相同名称的数据库,或者指定的文件无法打开,或者它位于UNC共享上。
创建表的SQL脚本:
CREATE TABLE [dbo].[Student]
(
[Id] INT IDENTITY NOT NULL PRIMARY KEY,
[FirstName] NCHAR(16) NULL,
[LastName] NCHAR(16) NULL,
[Age] NCHAR(3) NULL,
[DateOfBirth] DATE NULL,
[Enrolled] BIT NULL
)
用于写入数据库的C#:
using (SqlConnection connection = new SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Admin-PC\sourcerepos\SQLPlaygroundV1\SchoolDB.mdf;Integrated Security=True")) {
using (SqlCommand command = new SqlCommand()) {
command.Connection = connection;
command.CommandType = CommandType.Text;
command.CommandText = "INSERT into Student (FirstName, LastName, Age, DateOfBirth, Enrolled)" +
" VALUES (@FirstName, @LastName, @Age, @DateOfBirth, @Enrolled)";
command.Parameters.AddWithValue("@FirstName", "Bob");
command.Parameters.AddWithValue("@LastName", "Bobson");
command.Parameters.AddWithValue("@Age", "21");
command.Parameters.AddWithValue("@DateOfBirth", "1990-01-01");
command.Parameters.AddWithValue("@Enrolled", false);
try {
connection.Open();
int recordsAffected = command.ExecuteNonQuery();
Console.WriteLine(recordsAffected);
} catch (Exception e) {
Console.WriteLine("Exception occurred");
Console.WriteLine(e.Message);
} finally {
connection.Close();
}
Console.ReadKey();
}
}
我已经验证了不存在具有相同名称的其他文件,连接字符串是从服务器资源管理器属性窗口复制和粘贴的。
我可以看到它的存在,它在正确的路径上等等,我不明白为什么它找不到它/无法访问它。
问题是连接查询,即数据库的路径,在repos
之前只有一个反斜杠,您需要添加另一个。