2016-05-02 3 views
-3

У меня есть таблица с именемЧто не так с моим вставным запросом в linq C#?

logtbl(logid int, emplid int, logdate date, description varchar(50), logtime time(7), logdatetime datetime) 

Вот мой код:

public void savelogs(int idemp, DateTime logdate, string logname, TimeSpan logtimes, DateTime timedate) 
{ 
    logtbl log = new logtbl() 
    { 
     emplid = idemp, 
     datelog = logdate, 
     description = logname, 
     timelog = logtimes, 
     logdatetime = timedate 
    }; 
    dbko.logtbls.InsertOnSubmit(log); 
    dbko.SubmitChanges(); 
    MessageBox.Show("Log save successfully;"); 
} 

И я называю это так:
А обозначает целое
dtdate и dttime означает DateTimePicker

savelogs(a, dtdate.Value.ToShortDateString, cmbstatus.Text, dttime.Value.ToShortTimeString, dtdate.Value.ToShortDateString); 

ошибка в этой строке кода.
Что не так с моим кодом?

+0

У вас есть полное описание ошибки? возможно, некоторые из ваших полей не были правильно отображены, например, ваш класс имеет поля данных и timelog, но таблица имеет логарифмические и журнальные столбцы. –

+1

Ваш метод ожидает два DateTimes и TimeSpan, но, вызывая 'ToShortDateString()', вы передаете ему кучу строк. На самом деле вы вызываете 'ToShortDateString', который, вероятно, просто отображает ошибку компилятора. –

ответ

0

Теперь вы даете группу методов как аргумент, в то время как метод ожидает datetime. Правильный вызов метода должен быть следующим:

savelogs(a, dtdate.Value, cmbstatus.Text, dttime.Value, dtdate.Value); 

Это означает, что вам нужно будет удалить метод ToShortDate из вызова и поместить его внутри метода или изменить аргументы для метода строк, вместо DateTime и TimeSpan

Смежные вопросы