VB更新SQL的问题

来源:百度知道 编辑:UC知道 时间:2024/09/23 10:04:41
Private Sub Command1_Click()
Dim conn As New ADODB.Connection '定义一个新的数据库连接
Dim rs As ADODB.Recordset
Dim d As String
d = Date
Open App.Path + "\path.ini" For Input As #1
Input #1, datasources
Close #1
conn.Open datasources

SQL1 = "update tqyb set yb_date=" & d & ",yb_tqzk=" & Text3.Text & " where yb_id='27' "
Set rs = conn.Execute(SQL1)

End Sub

这段代码用于更新数据库中的一个表
请问为什么更新完以后 那个yb_date也就是那个d值是错的
今天明明是2008-3-15 更新完以后为1904-6-14
还有为什么在TEXT1中输入文字 就会提示错误 原来的表中yb_tqzk本来就是文字 应该没错呀
烦劳高手帮忙

我机子上没装sql , 只能把大概的思路给你,可能语句不一定正确,你试试了,友情帮顶

1.请问为什么更新完以后 那个yb_date也就是那个d值是错的
今天明明是2008-3-15 更新完以后为1904-6-14

1.1.原因:日期格式(由于客户机 和 数据库的日期格式不同, 所以更新为错值)
1.2.解决:
1.2.1.客户机上将日期格式化为字符串
d = format ( date , "dd/mm/yyyy")
1.2.2.sql 中将字符串转化为日期

SQL1 = "update tqyb set yb_date=convert(101,'" & d & "'),yb_tqzk=" & Text3.Text & " where yb_id='27' "

2.还有为什么在TEXT1中输入文字 就会提示错误 原来的表中yb_tqzk本来就是文字 应该没错呀
烦劳高手帮忙

字符串也要用'

SQL1 = "update tqyb set yb_date=convert(101,'" & d & "'),yb_tqzk='" & Text3.Text & "' where yb_id='27' "