C#-在Windows窗体中显示插入数据的异常

我有一个分配控件的表格

这是当我单击插入按钮时的代码

private void btnInsertRArtist_Click(object sender, EventArgs e)
    {
        SqlCommand comand = new SqlCommand("InsertRecordingArtists", conect);
        comand.CommandType = CommandType.StoredProcedure;
        try
        {
            if (txtboxRArtistName.Text == string.Empty || txtboxPlaceOB.Text == "")
            {
                errorProvider1.SetError(txtboxRArtistName, "Enter the Music category");
            }
            else
            {
                conect.Open();
                comand.Parameters.AddWithValue("@RecordingArtistName", txtboxRArtistName.Text);
                comand.Parameters.AddWithValue("@DateOfBirth", dateTimePicker1);
                comand.Parameters.AddWithValue("@BirthPlace", txtboxPlaceOB.Text);
                SqlDataAdapter adapt = new SqlDataAdapter(comand);
                comand.ExecuteNonQuery();
                txtboxRArtistName.Text = "";
            }
        }
        finally
        {
            conect.Close();
        }
    }

但是当我插入数据时会出现此异常

我在这里可以做什么…我的存储过程也在这里

ALTER PROCEDURE InsertRecordingArtists
 @RecordingArtistName text,
 @DateOfBirth datetime,
 @BirthPlace text


开始
    插入[MusicCollection].[dbo].[RecordingArtists]
           ([RecordingArtistName],[DateOfBirth],[BirthPlace])
     价值
           (@ RecordingArtistName,@ DateOfBirth,@ BirthPlace)

解决方法:

您不能将DateTimePicker实例用作查询参数.使用DateTimePicker.Value代替:

comand.Parameters.AddWithValue("@DateOfBirth", dateTimePicker1.Value);
上一篇:c#-仅在焦点位于文本框上时显示按钮


下一篇:为什么不用var在foreach中键入对象?