【问题标题】:Date not saving in database sql server and vb 6日期未保存在数据库 sql server 和 vb 6 中
【发布时间】:2014-05-07 16:36:07
【问题描述】:

您好,我正在使用 SQL Server 和 VB 6 做一个项目

我的项目在图书馆,最准确地说是在我的租赁表格上。 RENT AND DUE DATE 的日期没有保存在我的数据库中

它显示在列表视图中,但在我的表格中保存为 1/1/1900。

我已经多次更改数据类型,但仍然没有保存在我的数据库中。

代码:

Private Sub Form_Load()
   txtRent_Date.Text = Format(Now, "MM/ dd/ yyyy")
   txtDue_Date.Text = Format(Now, "MM/ dd/ yyyy")
End Sub


Private Sub Command1_Click()
 If Len(dcbBook.Text) = 0 Then
  MsgBox "Select a book First", vbOKOnly + vbInformation, "Alert"

 Else
   ' Save to Rental
   With Adodc1.Recordset
   .AddNew
.Fields("Customer_id") = dcbCustomer.BoundText
      .Update
      End With
    ' End Saving

txtID.Text = Adodc1.Recordset.Fields("Rental_id").Value

' Save to Rental Copies
For X = 0 To ListView1.ListItems.Count - 1

         Set CN = New ADODB.Connection
         CN.CursorLocation = adUseClient
         CN.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Library;Data Source=SOUMEIYA-MSI\SQLEXPRESS"
         CN.Open
          strsql = "INSERT INTO Rental_Copies(Rental_id,Copies_id,Rent_Date,Due_Date)Values(" & txtID.Text & "," & ListView1.ListItems(X + 1) & "," & txtRent_Date.Text & "," & txtDue_Date.Text & ")"

          Set rs = CN.Execute(strsql)

         Next
      MsgBox "Book Rented successfully !", vbOKOnly + vbInformation, "Save"
   End If
End Sub

【问题讨论】:

标签: sql-server tsql vb6


【解决方案1】:

您没有在 SQL 字符串中引用日期:"," & txtRent_Date.Text & ",",因此您尝试插入值 05/07/2014,该值被解释为具有两个除法的数学表达式

select 05/07/2014 == 0 

0 投射到日期是1900-01-01 00:00:00.000

在您的语句中引用字符串/日期,或者更好地使用参数化查询(在您的文本框中输入一个 `,看看会发生什么)。

【讨论】:

  • 我可以举个例子吗
【解决方案2】:

艾伦 K 是正确的。要解决此问题,请替换插入语句的这一部分...

& "," & txtRent_Date.Text & "," & txtDue_Date.Text & ")"

与...

& ",'" & txtRent_Date.Text & "','" & txtDue_Date.Text & "')"

在您的应用程序中嵌入 sql 是一种不好的做法,原因有很多。您应该将嵌入式插入语句转换为存储过程,并使用适当的数据类型设置参数以传递输入值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    相关资源
    最近更新 更多