gpt4 book ai didi

ASP.NET 到 SQL Server 2005,UPDATE smalldatetime 过程不起作用?

转载 作者:行者123 更新时间:2023-12-02 07:56:01 26 4
gpt4 key购买 nike

<分区>

如题所示。我正在制作一个小程序,您可以在其中浏览和处理大量数据。问题是,虽然将新行插入 SQL 表工作正常,但使用相同的方法更新会导致 smalldatetime 变量出现问题。

我注意到使用探查器时 exec 命令在日期上加了双引号,但我似乎无法摆脱它。另外,插入时会发生相同的双引号,而且效果很好。该过程中的命令如下所示:

exec spUpdateinfo @id=default,@job=N'Loadsoftext',@address=N'Loadsoftext',@startdate=''2009-02-01 00:00:00:000'',@enddate=''2009-05-15 00:00:00:000'',@other=N'Loadsoftext'

我得到的是这个错误:

Msg 102, Level 15, State 1, Line 5Incorrect syntax near '2009'.

我正在做的是在 asp.net 代码隐藏中使用日期并将其作为参数作为正常日期传递,假设它在 SQL 过程中转换为 smalldatetime。使用的方法和变量和字符串等可以与插入时完全相同,但由于某种原因,UPDATING 导致了问题。我在谷歌搜索时看到使用了一些 PreserveSingleQuotes() 函数,但在 vb 或 SQL Server 2005 中似乎不存在。

知道是什么原因导致的以及如何让更新正常工作吗?

编辑:哦,日期最初是芬兰语格式,是 dd.MM.yyyy。但如前所述,所有这些工作正常,并在使用 INSERT 时自动转换。

编辑 2:这是完整的代码。

Asp.Net (vb)

        Dim fdate As Date        Dim ldate As Date        fdate = CDate(BegindateTextBox.Text.Trim)        ldate = CDate(EnddateTextBox.Text.Trim)        Dim ID As New SqlParameter("@id", Request.QueryString("job_id"))        Dim Job As New SqlParameter("@job", JobTextBox.Text)        Dim Address As New SqlParameter("@address", AddressTextBox.Text)        Dim Begindate As New SqlParameter("@startdate", fdate)        Dim Enddate As New SqlParameter("@enddate", ldate)        Dim Otherinfo As New SqlParameter("@other", OtherinfoTextBox.Text)        Begindate.DbType = DbType.Date        Enddate.DbType = DbType.Date        myCommand = New SqlCommand("spUpdateinfo")        myCommand.CommandType = CommandType.StoredProcedure        myCommand.Connection = conn        myCommand.Parameters.Add(ID)        myCommand.Parameters.Add(Job)        myCommand.Parameters.Add(Address)        myCommand.Parameters.Add(Begindate)        myCommand.Parameters.Add(Enddate)        myCommand.Parameters.Add(Otherinfo)        myCommand.ExecuteNonQuery()

SQL 过程

    UPDATE jobInfo    SET Job = @Job,        Address= @Address,        Begindate = CAST(@Begindate AS smalldatetime),        Enddate = CAST(@Enddate AS smalldatetime),        Otherinfo = @Otherinfo    WHERE Job_id = @id

花了一些时间,因为我不得不编辑掉敏感信息。无论如何,thx 寻求帮助和任何想法是怎么回事?您可以在其中看到类型转换等,因为我已尝试尽我所能来修复它,但它仍然无法正常工作。

编辑 3:感谢您的帮助,今天请假,明天我会继续研究。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com