连接字符串配置文件
<connectionStrings>
<addname="cs1"connectionString="DataSource=SUKKOORPC\SQLEXPRESSPersistSecurityInfo=True;User ID=sa;Password=admin123"/>
</connectionStrings>
我正在创建类file.below代码,
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'的对象。”
如何解决此错误
答案 0 :(得分:0)
您正在尝试在数据库中创建一个名为IT的表。如果它已经存在,则无法真正创建具有相同名称的另一个。 您可能希望在创建表之前检查数据库中是否存在表,然后确定是否需要更改表或者不管它。
答案 1 :(得分:0)
在创建表之前,请检查数据库中是否已存在表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
答案 2 :(得分:0)
您正在尝试创建一个名为IT
的表,该表已存在于您的数据库中。
如果您的代码应该是可重复的,则需要在再次创建代码之前添加DROP TABLE IF EXISTS IT;
。
另请记住,如果您这样做,您的表中可能存储的所有数据都将被删除。
答案 3 :(得分:0)
在您发表评论后,您表示数据库中肯定不存在该表,我检查了您的连接字符串。
您必须使用Initial Catalog=DB
将数据库名称添加到您的连接字符串。
<connectionStrings>
<addname="cs1" connectionString="DataSource=SUKKOORPC\SQLEXPRESS;Initial Catalog=DatabaseName; PersistSecurityInfo=True;User ID=sa;Password=admin123"/>
</connectionStrings>
将 DatabaseName 更改为您要在其中创建表的数据库的名称。
如果没有设置Initial Catalog
,您将尝试在主数据库中创建一个表。