Private Sub Form_Load()
MSComm2.CommPort = 2
MSComm2.InBufferSize = 1024
MSComm2.OutBufferSize = 512
MSComm2.Settings = "9600,n,8,1"
MSComm2.RThreshold = 1
MSComm2.InputMode = comInputModeBinary '二进制接收
MSComm2.PortOpen = True
Text1 = ""
End Sub
Private Sub MsComm2_OnComm()
Dim intInputLen As Integer
Select Case Me.MSComm2.CommEvent
Case comEvReceive
'处理接收的代码
intInputLen = Me.MSComm1.InBufferCount
ReDim bytInput(intInputLen)
bytInput = Me.MSComm2.Input
jieshou
End If
End Select
End Sub
Public Function jieshou() '接收数据处理为16进制
Dim i As Integer
For i = 0 To UBound(bytInput)
If Len(Hex(bytInput(i))) = 1 Then
strData = strData &"0" &Hex(bytInput(i))
Else
strData = strData &Hex(bytInput(i))
End If
Next
Text1 = strData
End Function
分段存入acssess数据库需依据通信协议按要求取数据。
这个叫SQL注入。比如你判断用户的sql语句是这样
"select count(*) from user where username='" + username + "' and password='" + password + "'"
你的用户名和密码,是通过username和password这两个变量获得的。
如果你给这两个变量传的是正常的值,比如 username=abc, password=xxx
这样,提交到数据库中的sql语句就是这样
"select count(*) from user where username='abc' and password='xxx'
但是如果你给username这个变量输入成你上面那个值 1' or 1=1--
相应的sql语句就变成了这样
"select count(*) from user where username='1' or 1=1 --' and password='xxx'
--这个符号在sql语句里代表注释,所以实际的sql 语句就变成了
"select count(*) from user where username='1' or 1=1
你看看后面的条件,1=1 所以你的where语句就没用了,不管他输入什么,都可以通过判断了。
只要对用户提交的单引号 转义成这种形式 \' 就可以解决这个问题,我想应该说的比较明白了吧,如果不明白的话再叫我
ACS数据库的简单搜索界面提供标题、作者、文摘、全文任何位置的搜索字段。
每个输入框中,输入一个检索词或词组,多个词(组)检索时需输入其它框中,并用逻辑选框中的逻辑算符连接。系统自动完成词尾时态及单复数检索,本系统使用的逻辑算符为:and,or,not。
在刊名/主题选择项中,可将范围扩展至多个期刊或主题。若不选择,系统默认在全部期刊和全部类目中的“ASAP Articles”和“Currunt+4Years”状态下检索。作者检索,作者可输入名或姓,第一个字母大小写决定了检索范围;如:pauling,可检出paul、Paul、pauling、Pauling。Pauling,只能检出Pauling。
acs介绍
acs数据是美国化学学会成立于1876年,现已成为世界上最大的科技协会之一。一直致力于为全球化学研究机构、企业及个人提供高品质的文献资讯及服务,在科学、教育、政策等领域提供了多方位的专业支持,成为享誉全球的科技出版机构。
ACS出版的化学及相关学科期刊具有很高的质量,据JCR统计,ACS的期刊是化学领域中被引用次数最多的期刊。ACS出版的36种纸本期刊都有电子版,每一种期刊都回溯到了期刊的创刊卷,最早的到1879年。
以上内容参考:百度百科—acs数据库
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)