数据库/存储 2021_05_31 每日一练
VB 入库时,入库单号是自动导入且累加,(如:RUKU0001....RUKU000N)时,在记录过程中,是自动导入累加,但每次执行1~N次不等,就无法自动导入入库单号.清空数据库重0001开始又可以执行,但执行到自动导编号000N(N代表从1~N)的时候就完了,最后增加那一个查找不到,也加载不了,但在数据库中已有记录.如下简易代码.
Private Sub Cmdcazao_Click() '入库单号查找
Dim swl As String
Dim rw As New ADODB.Recordset
List1.Clear
swl = "select * from ruku"
rw.Open swl, Conn, adOpenKeyset, adLockPessimistic
While rw.EOF = False
List1.AddItem rw.Fields("danhao") '将查找的入库单记录在LIST1控件中
rw.MoveNext
Wend
rw.close
rw.Close
End Sub
Private Sub Cmdjilu_Click() '入库记录
Dim SQL2 As String '以下代码是自动导入入库单号
Dim Rs2 As New ADODB.Recordset
Dim i1 As String
Dim i2 As String
Dim j1As String
Dim j2 As String
i2 = "ruku"
j2 = "0001"
SQL2 = "select * from ruku"
Rs2.Open SQL2, Conn, adOpenKeyset, adLockPessimistic
While (Rs2.EOF = False)
If Rs2.EOF = False Then
j2 = Format(j2, "#0000")
j1 = Trim(i2 & j2)
If Trim(Rs2.Fields("danhao")) = j1 Then
List1.AddItem Trim(Rs2.Fields("danhao"))
j2 = j2 + 1
Else
Label3.Caption = j1
Rs2.MoveNext
End If
Else
j2 = Format(j2, "#0000")
j1= Trim(i2 & j2)
Label3.Caption = j1
End If
Dim svl As String 经以上入库单号自动导入后,即开始增加入库记录
Dim rv As New ADODB.Recordset
List1.Clear
svl = "select * from caiwupinzhen"
rv.Open sv, Conn, adOpenKeyset, adLockPessimistic
if Label3.Caption <> "" then
rv.addnew
rv.fields("danhao") = Label3.caption
rv.update
end if
rv.movenext
wend
rv.close
end sub
以上所出现的问题是:当增加到3~20个不等,自动导入入库单号的时候,最后一个记录查找不到(意思如:记录单号从RUKU0001开始~记录到RUKU0005, 按照程序导入方式下一个应该是RUKU0006,但实际导入的是RUKU0005. 利用查找程序,也查找不到RUKU0005之单号,但进入数据库中,RUKU0005是有记录的.经确认数据库中是存在RUKU0005记录,进入VB继续执行入库操作,不管入库多少次,始终入库单号是RUKU0005,回到数据库,数据库中RUKU0005被入库时不断的累计,入多少次就增加了多少个RUKU0005.)
把数据库数据清空,从RUKU0001开始,执行到RUKU0007或RUKU0025时(不等的情况下)又出现以上问题点了.
出现这种问题是什么原因,如何解决? 调试了半天,头的晕了,我是新手.自学的.很多不懂,还请各位高手指点指点..感激不尽..
今天在学校学习ORACLE 10G实验的时候遇到一个问题。
SQL> conn scott/tiger
Connected.
SQL> create table t1 as select * from dba_objects;
create table t1 as select * from dba_objects
*
ERROR at line 1:
ORA-00942: table or view does not exist
可是我的同学运行就能通过。我问他,他也说不上来。老师也下班回家了。
我估计可能是我没授权给 scott,可是我应该赋予scott什么权限才能让这句语句正常执行而不会报错呢?
登录命令后面直接加要执行的sql语句怎么写?
mysql -u root -proot insert into tab (id,name) value ('1','abc')
这样写对不对?
我以前用的是SqlServer XtraTreeList列表可以显示信息,但我换成Oracle就显示不了了。可是我单击某一行的时候,相应的信息又在里面,就是整体显示不出来。求给力!
有三个表如下
users(id,name);
type(id,name);
note(id,title,contents,user_id,author_id,type_id);
其中,user_id是作者、author_id是原创作者都是与users中的id进行关联的,type_id是分类编号,与type的id关联。
现在需要创建一个视图显示note中的id、title、contents、user_id、author_id、type_id、以及user_id、author_id、type_id对应的name。
怎样写sql语句呢?