Получение этой ошибки в command.Parameters.Add("_trdate", Format(dteDate, "yyyy-MM-dd"))

  command.CommandType = CommandType.StoredProcedure
            command.CommandText = "{?=call gtab09_INSERT(_acyrid,_RepId,_DrId,_vrid,_mode, _trno, _trdate, _acid, _vrno, _SuppId,_custname,_netamt,_disrate,_disamt,_RoundOff,_jrmid, _userid,_userdtm,_VSNo,_RecdAmt,_cstrate,_cstsaleamt,_cstamt,_tdrate,_tdamt,_cdrate,_cdamt,_CessRate,_CessAmt,_odesc1,_oamt1,_CashCredit,_OrderNo,_OrderDate,_CustAdd2,_Remarks,_WhoRetSl,_PatName,_DrName,_FormId,_SalesMan,_CFMode,_PatId,_StkPtId,_DisType,_BranchID)}"
            command.Parameters.Add("_acyrid", gintAcYrId)
            command.Parameters.Add("_RepId", Val(cboRep.SelectedValue))
            command.Parameters.Add("_DrId", Val(cboDoctor.SelectedValue))
            command.Parameters.Add("_vrid", mlngVrId)
            command.Parameters.Add("_mode", Val(cboMode.SelectedIndex))
            command.Parameters.Add("_trno", txtslno.Text)
            command.Parameters.Add("_trdate", Format(dteDate, "yyyy-MM-dd"))
            command.Parameters.Add("_acid", CustAcId)

я получаю

Unable to cast object of type 
'C1.Win.C1Input.C1DateEdit' to type 'System.IConvertible' error

в

command.Parameters.Add("_trdate", Format(dteDate, "yyyy-MM-dd"))

с помощью VB.net 2008 а также PostgreSql База данных в postgres поле даты должно быть в yyyy-MM-dd Формат. Это функция вставки

1 ответ

Решение

Ваш текущий код пытается конвертировать C1DateEdit управление отформатированной строкой, которая не является допустимой операцией. Я думаю, вы хотите конвертировать DateTime значение из этого элемента управления вместо:

command.Parameters.Add("_trdate", Format(dteDate.Value, "yyyy-MM-dd"))

при условии, что dteDate.Value это правильный способ получить DateTime значение от C1DateEdit, так как я никогда не использовал элемент управления ComponentOne в моей жизни. Во всяком случае, если _trdate параметр ожидать DateTime введите postgres, вы можете просто передать DateTime объект как значение параметра. Не нужно заботиться о форматировании, оно будет обрабатываться автоматически. Примерно так (применимо то же предположение):

command.Parameters.Add("_trdate", dteDate.Value)

Надеюсь, это пролило свет на вашу проблему.

Другие вопросы по тегам