C# 创建新表将删除以前创建的表

C# 创建新表将删除以前创建的表,c#,sql-server,visual-studio,C#,Sql Server,Visual Studio,我正在使用以下代码在本地数据库上创建一个表: string connectionString = GaryTrade.Properties.Settings.Default.AssetsDBConnectionString; using (SqlConnection dbConnection = new SqlConnection(connectionString)) { dbConnection.Open(); // Create the table in the data

我正在使用以下代码在本地数据库上创建一个表:

string connectionString = GaryTrade.Properties.Settings.Default.AssetsDBConnectionString;

using (SqlConnection dbConnection = new SqlConnection(connectionString))
{
    dbConnection.Open();

    // Create the table in the database.
    string cmdString = "CREATE TABLE " + tableName + "(timestamp date);";
    SqlCommand command = new SqlCommand(cmdString, dbConnection);
    command.ExecuteNonQuery();
    
    dbConnection.Close();
}
这是可行的,我可以在SQL Server对象资源管理器中看到它,但是当我退出程序并使用不同的表名再次运行相同的代码时,旧表将被新表替换。如何使我创建的表在添加新表后保持不变


编辑:我的连接字符串是“数据源=(LocalDB)\MSSQLLocalDB;AttachDbFilename=| DataDirectory |\AssetsDB.mdf;integratedsecurity=True”

我通过替换此行修复了此问题:

string connectionString = MyProject.Properties.Settings.Default.Database1ConnectionString;

似乎在创建数据库文件时,会将其放在两个位置:

  • \MyProject\MyProject\Database1.mdf
  • \MyProject\MyProject\bin\Debug\Database1.mdf

  • MyProject.Properties.Settings.Default.Database1ConnectionString被指向了
    | DataDirectory | \\Database1.mdf
    ,但这不起作用。

    您的应用程序必须回滚事务(或至少未能提交事务)。SQL Server中没有任何内容(或您显示的代码)当我退出程序并再次运行它,但不运行上面的代码时,可以在浏览器中看到我最近创建的表。这不意味着交易已经提交了吗?我需要执行“提交”命令吗?嗯。。。你用什么来命名
    tableName
    ?我用的是“AMD”或“AAPL”之类的股票名称。旁注:看起来你在做一些根本错误的事情。如果您的计划是存储股票价值,那么不要将它们存储在每个公司的一个表中,而是将它们存储在一个表中,包括指定公司的列。关系数据库中的表不是电子表格。
    string connectionString = "Data Source = (LocalDB)\\MSSQLLocalDB; AttachDbFilename ="
                        + "G:\\programs\\Visual Studio Workspace\\MyProject\\MyProject\\Database1.mdf; Integrated Security = True";