enter image description here}

private void btn_process_Click(object sender, EventArgs e)
{
connection_class.open_connection();
MySqlCommand cmd = new MySqlCommand("INSERT INTO `invoice`( `registerNumber`,`vehicleModel`,`fuelType`,`km`,`mechanicName`,`date`,`job1`,`job2`,`job3`,`job4`,`job5`,`job6`,`job7`,`job8`,`discount`,`price`)  VALUES (@registerNumber,@vehicleModel,@fuelType,@km,@mechanicName,@date,@job1,@job2,@job3,@job4,@job5,@job6,@job7,@job8,@discount,@price)", connection_class.con);
            cmd.Parameters.Clear();
            cmd.Parameters.AddWithValue("@registerNumber", txt_vehicleNumber);
            cmd.Parameters.AddWithValue("@vehicleModel", txt_vehicleModle);
            cmd.Parameters.AddWithValue("@fuelType", drp_fuelType);
            cmd.Parameters.AddWithValue("@km", txt_km);
            cmd.Parameters.AddWithValue("@mechanicName", drp_mechanic);
            cmd.Parameters.AddWithValue("@date", lbl_date);
            cmd.Parameters.AddWithValue("@job1", lbl_job1);
            cmd.Parameters.AddWithValue("@job2", lbl_job2);
            cmd.Parameters.AddWithValue("@job3", lbl_job3);
            cmd.Parameters.AddWithValue("@job4", lbl_job4);
            cmd.Parameters.AddWithValue("@job5", lbl_job5);
            cmd.Parameters.AddWithValue("@job6", lbl_job6);
            cmd.Parameters.AddWithValue("@job7", lbl_job7);
            cmd.Parameters.AddWithValue("@job8", lbl_job8);
            cmd.Parameters.AddWithValue("@discount", lbl_totDiscount);
            cmd.Parameters.AddWithValue("@price", lbl_total);

            cmd.ExecuteNonQuery();
            connection_class.close_connection();
            MessageBox.Show("Invoice printed !!!");
}

我想将这些数据正确地发送到表中. 例如:代替"Guna.UI2.WinForms.Internal.PlaceholderTextBox,文本:343447.00"这是我想发送的"343447"

推荐答案

似乎在传递给AddWithValue的对象上调用了ToString的自定义重写,您需要访问它们的相应属性(取决于对象),例如如下所示:

cmd.Parameters.AddWithValue("@job1", lbl_job1.Text);
cmd.Parameters.AddWithValue("@job2", lbl_job2.Text);

也不要使用AddWithValue,因为AddWithValue is Evil,使用AddParameter与显式类型.例如:

cmd.Parameters.Add("@job1", SqlDbType.VarChar).Value = lbl_job1.Text;

cmd.Parameters.Add(new SqlParameter("@job1", SqlDbType.VarChar)
{
    Value = lbl_job1.Text
});

Csharp相关问答推荐

C#中的多yield 机制

如何将两个查询结果组合在C#ASP.NET MHC控制器中

有没有一种方法可以在包含混合文本的标签中嵌入超链接?

如何使用while循环实现异常处理

为什么C#Bigbit不总是相同的比特长度?

System.Text.Json数据化的C#类映射

如何使用XmlSerializer反序列化字符串数组?

如何在C#中将对象[*,*]直接转换为字符串[*,*]?

Rider将.NET安装在哪里

异步实体框架核心查询引发InvalidOperation异常

如何在NET 8最小API中自动记录TypedResults.Stream响应

EF核心新验证属性`DeniedValues`和`StringCompison`不起作用

HttpClient SendAsync与多线程环境中的ArchiveZip

Google OAuth令牌交换在.Net中不起作用

.NET 8在appsettings.json中核心使用词典URI、URI&>

.Net MAUI,在将FlyoutPage添加到容器之前,必须设置添加构造函数导致Flyout和Detail"

如何在.NET MAUI中最大化GraphicsView的大小?

如何在发布NuGet包之前设置命名空间?

是否可以在Entity Framework Core中使用只读 struct 作为拥有实体?

为什么在使用JsonDerivedType序列化泛型时缺少$type?