一直没解决

square112 2007-01-23 04:18:03
in_time包含日期和时间,DTPicker1.value只有日期.现在我想取in_time的日期来和date1比较.可是比较不起.请问怎么改?
Dim rs_windows As New ADODB.Recordset
Dim sql As String
Dim date1 As String
date1 = Format(CDate(DTPicker1.Value), "yyyy-mm-dd")
sql = "select * from information where mid(in_time,1,10)='" & date1 & "' And flag = 0 "
rs_windows.CursorLocation = adUseClient
rs_windows.Open sql, conn, adOpenKeyset, adLockPessimistic



还有一个
Dim rs_save As New ADODB.Recordset
Dim sql As String
Dim var1 As String
Dim i As Long

If Trim(txtcar.Text) = "" Then
MsgBox "车牌号不能为空", vbOKOnly + vbExclamation, ""
txtcar.SetFocus
Exit Sub
End If
If Trim(txtphone.Text) = "" Then
MsgBox "车主手机号不能为空", vbOKOnly + vbExclamation, ""
txtphone.SetFocus
Exit Sub
End If
If Trim(cmbtype.Text) = "" Then
MsgBox "车辆类别不能为空", vbOKOnly + vbExclamation, ""
cmbtype.SetFocus
Exit Sub
End If
txttime.Text = Now()
var1 = cmbtype.Text

Select Case var1
Case "单桥车"
i = 1
Case "双桥车"
i = 2
Case "长车"
i = 3
Case "吊车单桥"
i = 4
Case "吊车双桥"
i = 5
End Select


sql = "select * from Information "
rs_save.Open sql, conn, adOpenKeyset, adLockPessimistic

rs_save.MoveLast
conn.Execute "insert into Information values (" & rs_save.Fields(0) + 1 & ",'" & txtcar.Text & "','" & txtphone.Text & "'," & i & ",'" & txttime.Text & "'," & 0 & "," & userID & ")"

MsgBox "录入成功"
rs_save.Close
txtcar.Text = ""
txtphone.Text = ""
cmbtype.Text = ""
txttime.Text = ""

conn.Execute "insert into Information values (" & rs_save.Fields(0) + 1 & ",'" & txtcar.Text & "','" & txtphone.Text & "'," & i & ",'" & txttime.Text & "'," & 0 & "," & userID & ")"
执行提示至少一个参数没有被设定指定值,是怎么回事呀??
...全文
234 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhykhld 2007-01-25
  • 打赏
  • 举报
回复
根据vbman2003(家人)的修改建议,请你再次修改一下试试

conn.Execute "insert into Information (cl_number,cph,sj,cl_type_xh,in_time,flag,in_yg_id) values (" & cstr(rs_save.Fields(0)) & ",'" & txtcar.Text & "','" & txtphone.Text & "'," & cstr(Val(i)) & ",'" & txttime.Text & "',0," & cstr(userID) & ")"
vbman2003 2007-01-25
  • 打赏
  • 举报
回复
access有查询页,可以放在里面分析
square112 2007-01-25
  • 打赏
  • 举报
回复
ACCESS数据库.
vbman2003 2007-01-25
  • 打赏
  • 举报
回复
你debug.print你的SQL语句,就可以看到那儿不正确了,同时也可以放到查询分析器中去分析
square112 2007-01-25
  • 打赏
  • 举报
回复
还是一样的呀.提示一个参数没有被设定指定值.
vbman2003 2007-01-25
  • 打赏
  • 举报
回复

conn.Execute "insert into Information (cl_number,cph,sj,cl_type_xh,in_time,flag,in_yg_id) values (" & rs_save.Fields(0) & ",'" & txtcar.Text & "','" & txtphone.Text & "'," & Val(i) & ",'" & txttime.Text & "'," & 0 & "," & userID & ")"

其中你指定了一个0。不能用&连接:
conn.Execute "insert into Information (cl_number,cph,sj,cl_type_xh,in_time,flag,in_yg_id) values (" & rs_save.Fields(0) & ",'" & txtcar.Text & "','" & txtphone.Text & "'," & Val(i) & ",'" & txttime.Text & "',0," & userID & ")"
square112 2007-01-25
  • 打赏
  • 举报
回复
试了一下.还是不行.不知道怎么回事了??
square112 2007-01-25
  • 打赏
  • 举报
回复
还是不行.
zhykhld 2007-01-24
  • 打赏
  • 举报
回复
不知道带下划线的字段是不是需要用[]括住,因为我的数据库字段没有这样命名的,所以不知道
zhykhld 2007-01-24
  • 打赏
  • 举报
回复
conn.Execute "insert into Information (cl_number,cph,sj,cl_type_xh,in_time,flag,in_yg_id) values (" & rs_save.Fields(0) & ",'" & txtcar.Text & "','" & txtphone.Text & "'," & Val(i) & ",'" & txttime.Text & "'," & 0 & "," & userID & ")"

使用这一句时,一定要注意
1.不是被''括住的内容当中不能有","出现
2.被''括住的内容当中不能出现"'"
square112 2007-01-24
  • 打赏
  • 举报
回复
Dim rs_save As New ADODB.Recordset
Dim sql As String
Dim var1 As String
Dim i As Long

If Trim(txtcar.Text) = "" Then
MsgBox "车牌号不能为空", vbOKOnly + vbExclamation, ""
txtcar.SetFocus
Exit Sub
End If
If Trim(txtphone.Text) = "" Then
MsgBox "车主手机号不能为空", vbOKOnly + vbExclamation, ""
txtphone.SetFocus
Exit Sub
End If
If Trim(cmbtype.Text) = "" Then
MsgBox "车辆类别不能为空", vbOKOnly + vbExclamation, ""
cmbtype.SetFocus
Exit Sub
End If
txttime.Text = Now()
var1 = cmbtype.Text

Select Case var1
Case "单桥车"
i = 1
Case "双桥车"
i = 2
Case "长车"
i = 3
Case "吊车单桥"
i = 4
Case "吊车双桥"
i = 5
End Select

sql = "select max(cl_number)+1 from Information "
rs_save.Open sql, conn, adOpenKeyset, adLockPessimistic

rs_save.MoveLast
conn.Execute "insert into Information (cl_number,cph,sj,cl_type_xh,in_time,flag,in_yg_id) values (" & rs_save.Fields(0) & ",'" & txtcar.Text & "','" & txtphone.Text & "'," & Val(i) & ",'" & txttime.Text & "'," & 0 & "," & userID & ")"

MsgBox "录入成功"
rs_save.Close

txtcar.Text = ""
txtphone.Text = ""
cmbtype.Text = ""
txttime.Text = ""
End Sub

执行还是提示至少一个参数没有被设定指定值,插入的数据都对应了每个字段了。用另外一种方法插入:
rs_save.MoveLast
rs_save.AddNew
rs_save.Fields(0) = rs_save.Fields(0) + 1
rs_save.Fields(1) = Trim(txtcar.Text)
rs_save.Fields(2) = Trim(txtphone.Text)
rs_save.Fields(3) = Val(i)
rs_save.Fields(4) = Trim(txttime.Text)
rs_save.Fields(6) = 0
rs_save.Fields(7) = userID
rs_save.Update
rs_save.Close
又提示不能更新。数据库或对象为只读
vbman2003 2007-01-24
  • 打赏
  • 举报
回复
还有,conn.Execute ....下面要加rs_save.close关闭记录集,要查看插入记录的状态,要重新打开记录集
vbman2003 2007-01-24
  • 打赏
  • 举报
回复
更正一下
sql="select max(序号)+1 from Information"
rs_save.Open sql, conn, adOpenKeyset, adLockPessimistic
然后再
conn.Execute "insert into Information(a,b,c,d,e,f,g) values (" & rs_save.Fields(0) & ",'" & txtcar.Text & "','" & txtphone.Text & "'," & i & ",'" & txttime.Text & "',0," & userID & ")"


rs_save.Fields(0)不用加了 1
vbman2003 2007-01-24
  • 打赏
  • 举报
回复
哦,这样,先查询序号:
sql="select max(序号)+1 from Information"
rs_save.Open sql, conn, adOpenKeyset, adLockPessimistic
然后再
conn.Execute "insert into Information(a,b,c,d,e,f,g) values (" & rs_save.Fields(0) + 1 & ",'" & txtcar.Text & "','" & txtphone.Text & "'," & i & ",'" & txttime.Text & "',0," & userID & ")"

square112 2007-01-24
  • 打赏
  • 举报
回复
但是插入数据的时候我有个序号:rs_save.Fields(0) = rs_save.Fields(0) + 1.但一直就在第1行插入.我想在最后插入.可是一直不对.
vbman2003 2007-01-24
  • 打赏
  • 举报
回复
1.关于你的 insert into 语句
如果插入的是具体值:
sql = "insert into tb (fld1,fld2,fld3) values ('张三',null,0)"
其中 fld1是文本类型字段,另二个是数字类型字段
如果插入值是变量:
sql = "insert into tb(fld1,fld2) values ('"& text1 &"',"& val(text2) &")"
其中 fld1是文本类型字段,fld2数字类型字段
也就是说,&号用于字符串连接,这在SQL语句中用到变量时常见的。你的语句中null,0不是变量,是数值,怎么也用上了&号?还有插入文本类型数据,要加''号,数字型则不需要。

2.表中数据的排序不影响你数据插入,表是用来存取数据的,不是看的,你无需关心新插入的数据在表中的位置。如果需要,在查询语句中适当排序,就可以得到你要的各种结果
square112 2007-01-24
  • 打赏
  • 举报
回复
conn.Execute "insert into Information (cl_number,cph,sj,cl_type_xh,in_time,out_time,flag,in_yg_id,out_yg_id) values (" & rs_save.Fields(0) + 1 & ",'" & txtcar.Text & "','" & txtphone.Text & "'," & Val(i) & ",'" & txttime.Text & "','" & Null & "' ," & 0 & "," & userID & ",'" & Null & "')"
这样了还是不行呀.

While (rs_save.EOF = False)
rs_save.MoveLast
If rs_save.Fields(6) = Null Then
rs_save.AddNew
rs_save.Fields(0) = rs_save.Fields(0) + 1
rs_save.Fields(1) = Trim(txtcar.Text)
rs_save.Fields(2) = Trim(txtphone.Text)
rs_save.Fields(3) = Val(i)
rs_save.Fields(4) = Trim(txttime.Text)
rs_save.Fields(6) = 0
rs_save.Fields(7) = userID
rs_save.Update
rs_save.Close
Exit Sub
Else
rs_save.MoveNext
End If
Wend

如果用这种的插入新的数据的话.怎么把指针移到最后一条记录.在最后一条记录的下面插入新数据??
vbman2003 2007-01-23
  • 打赏
  • 举报
回复
2.
参考feiyun0112(http://feiyun0112.cnblogs.com/)的,要写出对应的字段名称
另外, 用b conn.Execute 那么以下:
sql = "select * from Information "
rs_save.Open sql, conn, adOpenKeyset, adLockPessimistic
都不要了

vbman2003 2007-01-23
  • 打赏
  • 举报
回复
1.
sql = "select * from information where format(in_time,'yyyy-mm-dd')='" & date1 & "' And flag = 0 "
feiyun0112 2007-01-23
  • 打赏
  • 举报
回复
conn.Execute "insert into Information(a,b,c,d,e,f,g) values (" & rs_save.Fields(0) + 1 & ",'" & txtcar.Text & "','" & txtphone.Text & "'," & i & ",'" & txttime.Text & "'," & 0 & "," & userID & ")"
a,b,c,d,e,f,g字段名

*****************************************************************************
欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码)
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
加载更多回复(2)

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧