我现在处理接收代码然后分析保存,用的代码是下边的方法
If Mid(strData, 7, 2) = "F9" Then
'判断
然后保存
sqlinsert = "insert into [客车列尾运行数据] ([主机编号],[命令名称],[日期],[时间],[记录时间]) values ('" + Text2.Text + "','" + Text4.Text + "','" + Trim(Text3.Text) + "','" + Trim(Text8.Text) + "','" + Text9.Text + "')"
rs_suminsert.CursorLocation = adUseClient
rs_suminsert.Open sqlinsert, conn, adOpenKeyset, adLockPessimistic
rs_suminsert.CursorLocation = adUseClient
If Mid(strData, 7, 2) = "F1" Then
'判断
然后保存
sqlinsert = "insert into [客车列尾运行数据] ([主机编号],[命令名称],[日期],[时间],[记录时间]) values ('" + Text2.Text + "','" + Text4.Text + "','" + Trim(Text3.Text) + "','" + Trim(Text8.Text) + "','" + Text9.Text + "')"
rs_suminsert.CursorLocation = adUseClient
rs_suminsert.Open sqlinsert, conn, adOpenKeyset, adLockPessimistic
............
............
'最后
End Sub
上边的代码每次保存的时候时候都调用rs_suminsert.CursorLocation = adUseClient
rs_suminsert.Open sqlinsert, conn, adOpenKeyset, adLockPessimistic
这样我的程序处理起来会很慢,请教下论坛朋友,能不能我先判断处理我的代码,最后一次调用保存啊?
If Mid(strData, 7, 2) = "F9" Then
'判断
然后保存
sqlinsert = "insert into [客车列尾运行数据] ([主机编号],[命令名称],[日期],[时间],[记录时间]) values ('" + Text2.Text + "','" + Text4.Text + "','" + Trim(Text3.Text) + "','" + Trim(Text8.Text) + "','" + Text9.Text + "')"
rs_suminsert.CursorLocation = adUseClient
rs_suminsert.Open sqlinsert, conn, adOpenKeyset, adLockPessimistic
rs_suminsert.CursorLocation = adUseClient
If Mid(strData, 7, 2) = "F1" Then
'判断
然后保存
sqlinsert = "insert into [客车列尾运行数据] ([主机编号],[命令名称],[日期],[时间],[记录时间]) values ('" + Text2.Text + "','" + Text4.Text + "','" + Trim(Text3.Text) + "','" + Trim(Text8.Text) + "','" + Text9.Text + "')"
rs_suminsert.CursorLocation = adUseClient
rs_suminsert.Open sqlinsert, conn, adOpenKeyset, adLockPessimistic
............
............
'最后
End Sub
上边的代码每次保存的时候时候都调用rs_suminsert.CursorLocation = adUseClient
rs_suminsert.Open sqlinsert, conn, adOpenKeyset, adLockPessimistic
这样我的程序处理起来会很慢,请教下论坛朋友,能不能我先判断处理我的代码,最后一次调用保存啊?
conn.Execute sqlinsert
rs_suminsert.Open sqlinsert, conn, adOpenKeyset, adLockPessimistic
和你的
conn.Execute sqlinsert区别吗。
conn.Execute sqlinsert这个怎么用啊?谢谢
If Mid(strData, 5, 2) = "FD" Then
.......
ElseIf Mid(strData, 5, 2) = "F1" Then
.....
ElseIf Mid(strData, 5, 2) = "F2" Then
.....
ElseIf Mid(strData, 5, 2) = "F3" Then
......
end if
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("主机编号") = Text2.Text
Adodc1.Recordset.Fields("机车编号") = Text7.Text
Adodc1.Recordset.Fields("记录时间") = Text9.Text
Adodc1.Recordset.Fields("时间") = Text8.Text
Adodc1.Recordset.Fields("命令名称") = Text4.Text
Adodc1.Recordset.Fields("状态参数") = Text5.Text
Adodc1.Recordset.Fields("日期") = Text3.Text Adodc1.Recordset.MoveNext
这个方法寸,这样的效率行吗。这样运行起来机器会不会拖慢?
Adodc1.Recordset.ActiveConnection.Execute = _
"INSERT INTO 表名 VALUES (" & _
变量1 & "," 变量2 & ")"
If Mid(strData, 5, 2) = "FD" Then
.......
ElseIf Mid(strData, 5, 2) = "F1" Then
.....
ElseIf Mid(strData, 5, 2) = "F2" Then
.....
ElseIf Mid(strData, 5, 2) = "F3" Then
......
end if
Adodc1.Recordset.ActiveConnection.Execute = "insert into [客车列尾运行数据] ([命令名称],[记录时间],[机车编号],[状态参数],[日期],[时间],[主机编号]) values ('" + Text4.Text + "','" + Text9.Text + "','" + Text7.Text + "','" + Text5.Text + "','" + Trim(Text3.Text) + "','" + Trim(Text8.Text) + "','" + Text2.Text + "')"
这样了。
谢谢大家的讲解。
test=mid(strdata,5,2)
将数据库连接与执行SQL语句写成函数或过程.如 sub insert_data(p1,p2)......end sub
用SELECT CASE test
case "f1"
insert_data p1,p2
case "f2"
insert_data p1,p2
case else
insert_data p1,p2
end select