[英]Error while migration - There is already an object named 'AspNetRoles' in the database. (Entity Framework Core)
[英]error “There is already an object named 'MD' in the database.”
连接字符串配置文件
<connectionStrings>
<addname="cs1"connectionString="DataSource=SUKKOORPC\SQLEXPRESSPersistSecurityInfo=True;User ID=sa;Password=admin123"/>
</connectionStrings>
我正在创建类文件。下面的代码,
public class Co
{
public static SqlConnection con = new SqlConnection();
public static string str;
public static void connectDB()
{
if (Co.con.State != ConnectionState.Open)
{
Co.str = System.Configuration.ConfigurationManager.ConnectionStrings["cs1"].ToString();
Co.con.ConnectionString = Co.str;
Co.con.Open();
}
}
}
使用form2中的类文件访问执行查询。
SqlCommand sc2 = new SqlCommand("CREATE TABLE IT(Name nchar(50),Phoneno int,Doorno nchar(50),Streetname nchar(50),City nchar(50),Pincode int,District nchar(50));");
sc2.Connection = Co.con;
sc2.ExecuteNonQuery();
我有错误。 sqlException未处理。“数据库中已经有一个名为'IT'的对象。”
如何解决这个错误
您正在尝试在数据库中创建一个名为IT的表。 如果已经存在,则不能真正创建另一个相同的名称。 您可能需要在创建表之前检查表是否存在于数据库中,然后再决定是否需要更改它或仅保留它。
创建表之前,请检查表IT
是否已存在于数据库中。
您的SQL查询应该像..
IF (NOT EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'YourSchemaName'
AND TABLE_NAME = 'IT'))
BEGIN
CREATE TABLE IT(Name nchar(50),Phoneno int,Doorno nchar(50),Streetname nchar(50),City nchar(50),Pincode int,District nchar(50));
END
您正在尝试创建一个名为IT
的表,该表已存在于数据库中。
如果您的代码应该是可重复的,则如果存在它,则需要添加一个DROP TABLE IF EXISTS IT;
在您再次创建它之前。
还请记住,如果您这样做,所有可能存储在表中的数据都将被删除。
在您说数据库中肯定不存在该表的评论之后,我检查了您的连接字符串。 您必须使用Initial Catalog=DB
将数据库名称添加到连接字符串中。
<connectionStrings>
<addname="cs1" connectionString="DataSource=SUKKOORPC\SQLEXPRESS;Initial Catalog=DatabaseName; PersistSecurityInfo=True;User ID=sa;Password=admin123"/>
</connectionStrings>
将DatabaseName更改为要在其中创建表的数据库的名称。如果没有设置Initial Catalog
,则尝试在master数据库中创建表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.