2016-05-02 8 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

完全なエラーの説明はありますか?多分あなたのフィールドのいくつかが正しくマッピングされていないかもしれません。たとえば、クラスにはデータログフィールドとタイム・ログ・フィールドがありますが、テーブルにはlogdateカラムとlogtimeカラムがあります。 –

+1

あなたのメソッドは、2つのDateTimesとTimeSpanを期待していますが、 'ToShortDateString()'を呼び出すことによって、束の文字列を渡しています。実際には、 'ToShortDateString'を呼び出すと、たぶんコンパイラエラーが表示されます。 –

答えて

0

メソッドがdatetimeを期待している間に、メソッドグループを引数として指定しています。メソッドへの正しい呼び出しは、次のようする必要があります。

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

これは、あなたが呼び出しからToShortDateメソッドを削除し、メソッド内に配置する必要がありますまたは文字列の代わりに、DateTimeにあなたのメソッドの引数を変更することを意味しますTimeSpan

関連する問題