C# 错误 ;4参数5:无法从';System.Windows.Forms.DataGridViewTextBoxColumn';至';字符串';

C# 错误 ;4参数5:无法从';System.Windows.Forms.DataGridViewTextBoxColumn';至';字符串';,c#,winforms,C#,Winforms,我正在构建一个winform应用程序,当我双击按钮添加代码时,会出现以下错误: 一, 错误4参数5:无法从转换 “System.Windows.Forms.DataGridViewTextBoxColumn”到“string” 二, 错误3与的最佳重载方法匹配 “HRM.DAO.BaoHiem.themBH(弦,弦,弦,弦,弦, 字符串“”具有一些无效参数 代码如下: private void btThem_Click(object sender, EventArgs e) {

我正在构建一个winform应用程序,当我双击按钮添加代码时,会出现以下错误:

一,

错误4参数5:无法从转换 “System.Windows.Forms.DataGridViewTextBoxColumn”到“string”

二,

错误3与的最佳重载方法匹配 “HRM.DAO.BaoHiem.themBH(弦,弦,弦,弦,弦, 字符串“”具有一些无效参数

代码如下:

private void btThem_Click(object sender, EventArgs e)
{           
    string MaNV = this.txtMaNV.ToString();
    string LoaiBH = this.cbLoai.ToString();
    string SoThe = this.txtSo.ToString();
    string NgayCap = this.dtpNgayCap.Value.ToString("yyyy/MM/dd");
    string NgayHH = this.dtpNgayCap.Value.ToString("yyyy/MM/dd");            
    string NoiCap = this.txtNoiCap.ToString();
    bh.themBH(MaNV, LoaiBH, SoThe, NgayCap, NgayHetHan, NoiCap);                       
}

// I'm using Visual Studio 2012 and MS SQL Server 2008

// This method is in another class, which is called from a button_Click event

public void themBH(string manv, string loaiBH, string sothe, 
    string ngaycap, string ngayhethan, string noicap)
{
    string sql = "Insert into [HRM].[dbo].[BaoHiem] values" + "(N'" + manv + "',N'" + 
        loaiBH + "',N'" + sothe + "',N'" + ngaycap + "',N'" + ngayhethan + "',N" + 
        "'" + noicap + "')";

    da.executeNonQuery(sql);
}

首先,似乎您的一个对象是DataGridViewTextBoxColumn,您无法将其转换为字符串。查看所有对象-我假设您希望添加一些.value或类似的内容。
我进一步假设,第二个错误是第一个错误的后续错误(您试图将am对象作为字符串传递,但什么不起作用)。

我认为,第二个错误将被解决,如果您已经修复了第一个…

This:
string MaNV=This.txtMaNV.ToString()可能应该是
字符串MaNV=this.txtMaNV.Text.ToString(),如果
txtMaNV
是控件。如果这些都是控件,则其他控件也是如此。您可以指定要传递给该方法的内容。您正在声明
NgayHH
,但将
NgayHetHan
作为参数传递。这是正确的吗?首先,不要像那样处理SQL查询;始终使用DB参数。但是,如果数据从DGC开始,为什么要提取它?如果它是绑定数据,你可以用一条语句和一个DataAdapter来更新数据库。我尝试使用另一个DatetimePicker并将它的值转换为“NgayHH”的字符串,这样就可以工作并且不会有任何错误。按照您的想法,第二个错误在我修复第一个错误后得到解决。