gpt4 book ai didi

c# - [C#]不插入数据库,但给出executeExecutequery为1

转载 作者:行者123 更新时间:2023-12-03 08:33:28 25 4
gpt4 key购买 nike

我正忙于一个项目,在该项目中,我必须在Visual Studio 2010 express中创建的紧凑SQL db文件中插入一些数据。我所做的每一次检查都说插入正确完成,只有一个缺点,每次我检查数据库时都没有插入数据。
我试过了:

检查command.executenonquery()结果

我试图捕获。

我直接进行了SQL插入,并且行得通。

我检查了连接状态。

所以我没主意了,希望你们能帮上忙。

哦,代码可能有用:

    private void butAddOilBlend_Click(object sender, EventArgs e)
{
ConnectToDB Connection = new ConnectToDB();
try
{
Connection.Connect.Open();

string SQLCommand = "INSERT INTO OilBlendsTable(oilblendsName, oilblendsDescription) VALUES(@OilBlendsName, @OilBlendsDescription)";

using (SqlCeCommand Command = new SqlCeCommand(SQLCommand, Connection.Connect))
{
Command.Parameters.AddWithValue("@OilBlendsName", tbNameOilBlend.Text);
Command.Parameters.AddWithValue("@OilBlendsDescription", tbOilBlendDescription.Text);

Command.ExecuteNonQuery();
int AffectedRows = Command.ExecuteNonQuery();

MessageBox.Show(AffectedRows.ToString());
}

lblFinalWord.Text = "You just added a new blend named: " + tbNameOilBlend.Text;
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
Connection.Connect.Close();
}
}

最佳答案

Copy Always意味着,每次您开始调试应用程序时,都会将SDF文件的新副本从Project Directory复制到DataDirectory,从而覆盖该文件。

Winforms应用程序中的DataDirectory是BIN \ DEBUG。
您的插入内容将进入该数据库(BIN \ DEBUG \ OilDB.sdf)。
在下一次运行时,这些插入物会丢失。
您应该使用Copy If Newer
Where is the |DataDirectory|
Visual Studio - File Properties

在这里,我假设您通过服务器资源管理器窗口中定义的连接来查看丢失的数据,查看存储在项目目录中的文件。检查其连接字符串

关于c# - [C#]不插入数据库,但给出executeExecutequery为1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16633415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com