从对象类型System.Windows.Forms.DateTimePicker到已知的托管提供程序本机类型不存在映射

时间:2012-03-03 05:04:04

标签: c#

当我单击“保存”按钮时,我收到以下错误(从对象类型System.Windows.Forms.DateTimePicker到已知的托管提供程序本机类型不存在映射)。

private void btnSave_Click(object sender, EventArgs e)
{
    //if (Isvalid())
    {
        SqlCommand cmd = new SqlCommand("sp_rcdoc", con);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        cmd.Parameters.Add("@regno", tbx1.Text);
        cmd.Parameters.Add("@appname", tbx2.Text);
        cmd.Parameters.Add("@DOI", dtpc1);
        cmd.Parameters.Add("@COV", cmbx.Text);
        cmd.Parameters.Add("@validtill", dtpc2);
        cmd.Parameters.Add("@imgloc", ScanDlg.path);
        // cmd.Parameters.Add("@username", Login.currentuser);
        // cmd.Parameters.Add("@imgno", popuprds.nofrecords);
        cmd.Parameters.Add("@result", SqlDbType.Int).Direction = System.Data.ParameterDirection.Output;
        if (con.State != ConnectionState.Open)
            con.Open();
        cmd.ExecuteNonQuery();
        int i = Convert.ToInt16(cmd.Parameters["@result"].Value);
        if (i > 0)
        {
            MessageBox.Show("Record inserted", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
            pbx.Image = ScanDlg.img;
            pbx.Load(@"E:\DMSProject\WindowsFormsApplication1\PROJECT SCANNED\ image0.jpeg");
            //pictureBox1.Load(@"C:\Users\chandrasekhar\Desktop\PROJECT SCANNED\ image.jpeg");
        }
        else
            MessageBox.Show("Record not inserted", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
}

1 个答案:

答案 0 :(得分:4)

cmd.Parameters.Add("@DOI", dtpc1);

应该是

cmd.Parameters.Add("@DOI", dtpc1.Value);

cmd.Parameters.Add("@validtill", dtpc2);

应该是

cmd.Parameters.Add("@validtill", dtpc2.Value);