1个SQL插入语句不知道怎么问题出错!困扰了一天了。
Dim n5 As String = "" & RQ.Value.Year.ToString & "-" & mm & "-" & "31"
s2 = "insert into 折旧表(ID,QJ,SL,JG,SJ) "
s2 += "values (" & i1 & "," & nv & ",0,0,'" & n5 & "')"
错误提示:“标准表达式中数据类型不匹配。”
改成:
s2 += "values (" & i1 & "," & nv & ",0,0,#" & n5 & "#)"
错误提示:日期的语法错误 在查询表达式 '#2014-06-31' 中。
真的没招了 求大神指点!
------解决思路----------------------
看下你access数据库时间字段的格式,通用还是短日期?
------解决思路----------------------
把你S2的值跟出来,放在Access执行一下,看看哪的问题,估计是语句没写对...N5是字符串要转换成数据的时间格式才能插入进去...
------解决思路----------------------
把n5换成mm/dd/yyyy格式,s2用第二个(含#)。
------解决思路----------------------
你是 vb.net
dt是时间类型,
Dim sql As String = "insert into dt(dt) values(@dt)"
Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Windows.Forms.Application.StartupPath + "\\temp.mdb")
con.Open()
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
cmd.Parameters.Add("@dt", OleDbType.Date)
cmd.Parameters("@dt").Value = Convert.ToDateTime("2014/6/29 15:00:00")
cmd.ExecuteNonQuery()
ListBox1.Items.Add("成功添加")
cmd.Dispose()
con.Close()
------解决思路----------------------
2014-06-31
你火星来的吧,6月哪来的31日
Dim n5 As String = "" & RQ.Value.Year.ToString & "-" & mm & "-" & "31"
改成
Dim n5 As String = convert.todatetime(RQ.Value.Year.ToString & "-" & mm & "-" & "01").addMonths(1).addDays(-1).toString("yyyy-MM-dd")
------解决思路----------------------
这个才是正解啊