C# 在数据库中插入日期时间时出错

C# 在数据库中插入日期时间时出错,c#,sql,datetime,C#,Sql,Datetime,目前,我正在尝试向数据库中插入日期时间值。但错误是: “其他信息:“/”附近的语法不正确。” 不断出现 这是我的代码: SqlConnection conn = SqlConn.openSqlConnection(); conn.Open(); SqlCommand comm = new SqlCommand("makeRit", conn); comm.CommandType = System.Data.CommandType.StoredProcedure; checkRitNr(); co

目前,我正在尝试向数据库中插入日期时间值。但错误是:

“其他信息:“/”附近的语法不正确。”

不断出现

这是我的代码:

SqlConnection conn = SqlConn.openSqlConnection();
conn.Open();
SqlCommand comm = new SqlCommand("makeRit", conn);
comm.CommandType = System.Data.CommandType.StoredProcedure;
checkRitNr();
comm.Parameters.AddWithValue("@username", username);
comm.Parameters.AddWithValue("@Nr",ritnr);
comm.Parameters.AddWithValue("@Datum", ritValue[0]);
comm.Parameters.AddWithValue("@Beginstand", ritValue[1]);
comm.Parameters.AddWithValue("@Eindstand", ritValue[2]);
comm.Parameters.AddWithValue("@Van", ritValue[3]);
comm.Parameters.AddWithValue("@Naar", ritValue[4]);
comm.Parameters.AddWithValue("@Bezoekadres", ritValue[5]);
comm.Parameters.AddWithValue("@Geredenroute", ritValue[6]);
comm.Parameters.AddWithValue("@Karakterrit", ritValue[7]);
comm.Parameters.AddWithValue("@Toelichting", ritValue[8]);
comm.Parameters.AddWithValue("@Kilometerszakelijk", ritValue[9]);
comm.Parameters.AddWithValue("@Kilometersprive", ritValue[10]);
comm.Parameters.AddWithValue("@date", DateTime.Today); 
added = comm.ExecuteNonQuery();
conn.Close();
这是存储过程:

@username varchar(50),
@Nr int,
@Datum varchar(50),
@Beginstand varchar(50),
@Eindstand varchar(50),
@Van varchar(50),
@Naar varchar(50),
@Bezoekadres varchar(50),
@Geredenroute varchar(50),
@karakterrit varchar(50),
@Toelichting varchar(50),
@kilometerszakelijk varchar(50),
@kilometersprive varchar(50),
@date datetime
as
begin
Exec ('insert into'+@username+'ritteninformatie'+'values('+@Nr+','+@Datum+','+@Beginstand+','+@Eindstand+','+@Van+','+@Naar+','+@Bezoekadres+','+@Geredenroute+','+@Karakterrit+','+@Toelichting+','+@Kilometerszakelijk+','+@Kilometersprive+','+@date)
end
我试图在具有“datetime”值的“date”中插入今天的日期。我必须将其作为datetime而不是字符串插入

直接使用而不是
EXEC
,并将变量作为参数传递给
sp_executeSQL
,如下所示

DECLARE @sql NVARCHAR(MAX) = 'insert into '+@username+'ritteninformatie'+' values(
@Nr,@Datum,@Beginstand,@Eindstand,@Van,@Naar,@Bezoekadres,@Geredenroute,@Karakterrit,@Toelichting,@Kilometerszakelijk,@Kilometersprive,@date)'


EXEC sp_executeSQL @sql,N'@Nr int,
@Datum varchar(50),
@Beginstand varchar(50),
@Eindstand varchar(50),
@Van varchar(50),
@Naar varchar(50),
@Bezoekadres varchar(50),
@Geredenroute varchar(50),
@karakterrit varchar(50),
@Toelichting varchar(50),
@kilometerszakelijk varchar(50),
@kilometersprive varchar(50),
@date datetime',@Nr,@Datum,@Beginstand,@Eindstand,@Van,@Naar,@Bezoekadres,@Geredenroute,@Karakterrit,@Toelichting,@Kilometerszakelijk,@Kilometersprive,@date
直接使用而不是
EXEC
,并将变量作为参数传递给
sp_executeSQL
,如下所示

DECLARE @sql NVARCHAR(MAX) = 'insert into '+@username+'ritteninformatie'+' values(
@Nr,@Datum,@Beginstand,@Eindstand,@Van,@Naar,@Bezoekadres,@Geredenroute,@Karakterrit,@Toelichting,@Kilometerszakelijk,@Kilometersprive,@date)'


EXEC sp_executeSQL @sql,N'@Nr int,
@Datum varchar(50),
@Beginstand varchar(50),
@Eindstand varchar(50),
@Van varchar(50),
@Naar varchar(50),
@Bezoekadres varchar(50),
@Geredenroute varchar(50),
@karakterrit varchar(50),
@Toelichting varchar(50),
@kilometerszakelijk varchar(50),
@kilometersprive varchar(50),
@date datetime',@Nr,@Datum,@Beginstand,@Eindstand,@Van,@Naar,@Bezoekadres,@Geredenroute,@Karakterrit,@Toelichting,@Kilometerszakelijk,@Kilometersprive,@date
直接使用而不是
EXEC
,并将变量作为参数传递给
sp_executeSQL
,如下所示

DECLARE @sql NVARCHAR(MAX) = 'insert into '+@username+'ritteninformatie'+' values(
@Nr,@Datum,@Beginstand,@Eindstand,@Van,@Naar,@Bezoekadres,@Geredenroute,@Karakterrit,@Toelichting,@Kilometerszakelijk,@Kilometersprive,@date)'


EXEC sp_executeSQL @sql,N'@Nr int,
@Datum varchar(50),
@Beginstand varchar(50),
@Eindstand varchar(50),
@Van varchar(50),
@Naar varchar(50),
@Bezoekadres varchar(50),
@Geredenroute varchar(50),
@karakterrit varchar(50),
@Toelichting varchar(50),
@kilometerszakelijk varchar(50),
@kilometersprive varchar(50),
@date datetime',@Nr,@Datum,@Beginstand,@Eindstand,@Van,@Naar,@Bezoekadres,@Geredenroute,@Karakterrit,@Toelichting,@Kilometerszakelijk,@Kilometersprive,@date
直接使用而不是
EXEC
,并将变量作为参数传递给
sp_executeSQL
,如下所示

DECLARE @sql NVARCHAR(MAX) = 'insert into '+@username+'ritteninformatie'+' values(
@Nr,@Datum,@Beginstand,@Eindstand,@Van,@Naar,@Bezoekadres,@Geredenroute,@Karakterrit,@Toelichting,@Kilometerszakelijk,@Kilometersprive,@date)'


EXEC sp_executeSQL @sql,N'@Nr int,
@Datum varchar(50),
@Beginstand varchar(50),
@Eindstand varchar(50),
@Van varchar(50),
@Naar varchar(50),
@Bezoekadres varchar(50),
@Geredenroute varchar(50),
@karakterrit varchar(50),
@Toelichting varchar(50),
@kilometerszakelijk varchar(50),
@kilometersprive varchar(50),
@date datetime',@Nr,@Datum,@Beginstand,@Eindstand,@Van,@Naar,@Bezoekadres,@Geredenroute,@Karakterrit,@Toelichting,@Kilometerszakelijk,@Kilometersprive,@date

您是否调试了代码并查看了值?添加参数后,插入查询是什么样子的?变量日期为“06/05/2015 12:00:00 AM}。使用此日期的sp_executesql时,您是否遇到任何错误?不,您的代码工作正常。但我只是想提供一些信息。你调试了你的代码并看到了你的值吗?添加参数后,插入查询是什么样子的?变量日期为“06/05/2015 12:00:00 AM}。使用此日期的sp_executesql时,您是否遇到任何错误?不,您的代码工作正常。但我只是想提供一些信息。你调试了你的代码并看到了你的值吗?添加参数后,插入查询是什么样子的?变量日期为“06/05/2015 12:00:00 AM}。使用此日期的sp_executesql时,您是否遇到任何错误?不,您的代码工作正常。但我只是想提供一些信息。你调试了你的代码并看到了你的值吗?添加参数后,插入查询是什么样子的?变量日期为“06/05/2015 12:00:00 AM}。使用此日期的sp_executesql时,您是否遇到任何错误?不,您的代码工作正常。但我只是想告诉你,不客气。有关sp_executesql的更多信息,请检查是否欢迎。有关sp_executesql的更多信息,请检查是否欢迎。有关sp_executesql的更多信息,请检查是否欢迎。有关sp_executesql的更多信息,请查看