【发布时间】:2025-11-28 18:05:02
【问题描述】:
我正在尝试在 Visual Studio C# 中编写应用程序以写入基于服务的数据库。我遇到的问题是我没有收到任何错误,但是重新启动应用程序后没有任何内容保存到数据库中......
我知道它正在写入,因为它不允许重复的主键。就好像它是一个临时数据库......如果是这种情况,我如何使它成为一个基于持久服务的数据库?
这是我的代码:
private void button1_Click(object sender, EventArgs e)
{
try {
// Connection to DB
SqlConnection con = new SqlConnection();
con.ConnectionString = (@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\MTR_Database.mdf;Integrated Security=True");
// Insert Query
string insertquery = "INSERT INTO dbo.Job01 ([Item #], [Manufacturer], [Mill Location], [Product Description], [Weld Seam Type], [Outer Dimension], [Wall Thickness], [Coating], [Grade], [Heat], [ANSI/ASME], [Purchase Order], [Standard]) VALUES(@ItemNum, @Manufacturer, @MillLocation, @ProductDescription, @WeldSeamType, @OuterDimension, @WallThickness, @Coating, @Grade, @Heat, @ANSIASME, @PurchaseOrder, @Standard)";
SqlCommand cmd = new SqlCommand(insertquery, con);
// open connection
con.Open();
// Parameters
cmd.Parameters.AddWithValue("@ItemNum", item__TextBox.Text);
cmd.Parameters.AddWithValue("@Manufacturer", manufacturerTextBox.Text);
cmd.Parameters.AddWithValue("@MillLocation", mill_LocationTextBox.Text);
cmd.Parameters.AddWithValue("@ProductDescription", product_DescriptionTextBox.Text);
cmd.Parameters.AddWithValue("@WeldSeamType", weld_Seam_TypeTextBox.Text);
cmd.Parameters.AddWithValue("@OuterDimension", outer_DimensionTextBox.Text);
cmd.Parameters.AddWithValue("@WallThickness", wall_ThicknessTextBox.Text);
cmd.Parameters.AddWithValue("@Coating", coatingTextBox.Text);
cmd.Parameters.AddWithValue("@Grade", gradeTextBox.Text);
cmd.Parameters.AddWithValue("@Heat", heatTextBox.Text);
cmd.Parameters.AddWithValue("@ANSIASME", aNSI_ASMETextBox.Text);
cmd.Parameters.AddWithValue("@PurchaseOrder", purchase_OrderTextBox.Text);
cmd.Parameters.AddWithValue("@Standard", standardTextBox.Text);
// Execute
cmd.ExecuteNonQuery();
// close connection
con.Close();
}
catch (Exception ex)
{
// catch error
MessageBox.Show(ex.Message);
}
}
我真的不知道发生了什么。
【问题讨论】:
-
我想更多的是,我希望它充当 SQLite... 没有活动服务器并在应用程序内。这可以通过嵌入在 Visual Studio 中的 SQL Express 实现吗?
-
阅读此内容:*.com/questions/6221951/… 关于 SQL-Server 的异常处理。还可以使用 MDF 的直接文件路径,看看会发生什么
标签: c# sql-server visual-studio insert