C# Can';t将aspx中的日期更新到MS-ACCESS表
您好,我在更新数据类型时遇到问题 我像这样在C部分插入日期C# Can';t将aspx中的日期更新到MS-ACCESS表,c#,asp.net,ms-access,oledbconnection,C#,Asp.net,Ms Access,Oledbconnection,您好,我在更新数据类型时遇到问题 我像这样在C部分插入日期 string strSQL = "INSERT into Frettir (CreatedBy,CreatedOn,Title,Description,Starts,Ends,CatId,SectionId,ArticleExt,Myndatexti,MyndUrAlbumi,NrMyndar) values(?,?,?,?,?,?,?,?,?,?,?,?)"; cmd.Parameters.Add("@Starts",OleDb
string strSQL = "INSERT into Frettir (CreatedBy,CreatedOn,Title,Description,Starts,Ends,CatId,SectionId,ArticleExt,Myndatexti,MyndUrAlbumi,NrMyndar) values(?,?,?,?,?,?,?,?,?,?,?,?)";
cmd.Parameters.Add("@Starts",OleDbType.Date).Value = dstartdate;
但我在aspx部分更新如下
UpdateCommand="UPDATE [Frettir] SET [Title]=@Title,[Description]=@Description,[CreatedBy]=@notandaID,[ArticleExt]=@ArticleExt, [Myndatexti]=@Myndatexti,[Starts]=@Starts WHERE [ArticleID]=@id2 "
<UpdateParameters>
<asp:Parameter Name="Title" Type="String" />
<asp:Parameter Name="Description" Type="String" />
<asp:Parameter Name="notandaID" Type="int16" />
<asp:Parameter Name="ArticleExt" Type="String" />
<asp:Parameter Name="Myndatexti" Type="String" />
<asp:Parameter Name="Starts" Type="DateTime" />
<asp:QueryStringParameter Name="id2" QueryStringField="ArticleID" Type="Int32" />
</UpdateParameters>
UpdateCommand=“UPDATE[Frettir]SET[Title]=@Title,[Description]=@Description,[CreatedBy]=@notandaID,[ArticleExt]=@ArticleExt,[Myndatexti]=@Myndatexti,[Starts]=@Starts其中[ArticleID]=@id2”
我在条件表达式中得到错误数据类型不匹配
在c#部分和aspx部分中输入的类型之间似乎存在一些类型差异
有人能帮我吗?我只做过一次。。。我使用以下代码分配了值
com.Parameters.AddWithValue("EmpDoj", EmpDoj.ToShortDateString());
这对我很管用。。我想它也能帮你
此外,我很想知道答案,为什么你的不起作用…这不是我曾经做过的事情(我是Access程序员),但我经常阅读类似问题的答案,我想知道问题是否在于你没有按顺序传递参数?Jet/ACE提供程序无法识别命名参数,因此必须确保它们是按声明的顺序传递的。但我可能误解了这种情况。不,插入工作正常,更新参数顺序正确,只是插入语句似乎使用了其他日期格式,尽管看起来没有问题,这导致更新语句失败。在Access和Jet/ACE SQL中(即,如果您直接将其传递给Jet/ACE,#分隔符用于日期,而不是“”。请尝试[CreatedBy]=#@notandaID,看看这是否会产生影响(我有点怀疑,但这是您在Access/Jet/ACE中所做的,可能是问题所在)。