以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]使用SQL插入记录时日期字段为空时都变成1900-1-1?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=177721)

--  作者:新福星
--  发布时间:2022/6/1 6:39:00
--  [求助]使用SQL插入记录时日期字段为空时都变成1900-1-1?
使用SQL语句插入记录时,日期字段为空时都变成1900-1-1.
将SQL语句日期属性的值设置为Nothing,插入SQL Server数据库里,再读出来就变为1900-1-1,如何使之仍然为空?

--  作者:有点蓝
--  发布时间:2022/6/1 8:38:00
--  
插入和读取的代码呢?
--  作者:新福星
--  发布时间:2022/6/1 10:07:00
--  
插入是用的SQL 语句InSert,读取用的是 Load
下面是插入语句

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20220601095949.png
图片点击可在新窗口打开查看

读取语句
        DataTables("XXX").LoadFilter="条件"
        DataTables("XXX").Loadtop=""
         DataTables("XXX").Load



[此贴子已经被作者于2022/6/1 10:07:48编辑过]

--  作者:有点蓝
--  发布时间:2022/6/1 10:33:00
--  
弹出最终拼接的sql语句看看
msgbox(sql2)

--  作者:新福星
--  发布时间:2022/6/1 13:33:00
--  
日期都00:00:00,怎么替换成Nothing?

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20220601132658.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2022/6/1 13:42:00
--  
sql里不是nothing,是null,大概这样

Dim sql As String = "insert into 表A(编号,日期) values("
If dr.isnull("编号") Then
    sql = sql & " null ,"
Else
    sql = sql & "\'" & dr("编号") & "\',"
End if

If dr.isnull("日期") Then
    sql = sql & " null )"
Else
    sql = sql & "#" & dr("日期") & "#)"
End if
msgbox(sql)