C# 从字符字符串转换为日期时间在插入时失败,但在更新时有效

C# 从字符字符串转换为日期时间在插入时失败,但在更新时有效,c#,sql,asp.net,visual-studio,C#,Sql,Asp.net,Visual Studio,我当前在将日期插入数据库时遇到以下错误,但在通过更新修改日期时效果良好: 从字符串转换日期和/或时间时转换失败 我拥有的代码(我知道非常糟糕,在飞行中学习…): 更新-工作 SqlCommand update = new SqlCommand("Update bookings set Guests = '" + drptxtGuests.Text + "'," + "CheckInDate = '" + BasicDatePicker1.SelectedDate + "',"

我当前在将日期插入数据库时遇到以下错误,但在通过更新修改日期时效果良好:

从字符串转换日期和/或时间时转换失败

我拥有的代码(我知道非常糟糕,在飞行中学习…):

更新-工作

SqlCommand update = new SqlCommand("Update bookings set Guests = '" + 
    drptxtGuests.Text + "'," + "CheckInDate = '" + 
    BasicDatePicker1.SelectedDate + "'," + "CheckOutDate = '" + 
    BasicDatePicker2.SelectedDate + "',"  + "RoomType = '" + 
    drptxtRoomType.Text + "'," + "Price = '" + txtBookingPrice.Text + 
    "' where BookingNumber = '" + txtBookingNumber.Text + "'"  , con);

update.ExecuteNonQuery();
con.Close();
插入-错误

SqlCommand insert = new SqlCommand("Insert into bookings(BookingNumber, MemberID, " +
    "CheckInDate, CheckOutDate, Guests, RoomType, Price) values('" +
    txtBookingNumber.Text + "','" + Session["id"] + "','" + 
    BasicDatePicker1.SelectedDate + "','" + BasicDatePicker2.SelectedDate + 
    "','" + drptxtGuests.Text + "','" + drptxtRoomType.Text + "','" + 
    txtBookingPrice.Text + "')", con);

insert.ExecuteNonQuery();
con.Close();
如果这是一件非常基本、明显和愚蠢的事情,我不会感到惊讶,但请容忍我。:)


编辑:我也确定问题出在日期选择器上,我只是不明白为什么它可以用于更新而不是插入?

学会使用正确的参数,而不是通过用户输入来使用查询字符串。立即有用..你能在实例化后粘贴为这两种情况构建的SqlCommand查询字符串吗?你能确定这与
日期选择器有什么关系吗
控制?尝试在以下行上设置断点:
insert.ExecuteNonQuery()
并检查
insert
的值。