雷克萨斯5700:在VB中如何求可以插入SQL中的字符长

来源:百度文库 编辑:中科新闻网 时间:2024/04/30 03:33:06
VB中的字符为50个,包括汉字,字母,数字等。
SQL的字段长度为50个,如何判断VB中的长度小于等于SQL中的50
if 在VB中的长度大于50
变量=""
else
把变量的值写入SQL的字段中,

请教

字符串存入数据库时,其所需字节数与字符串中的字符数是不一定一致的,ASCII字符占用一个字节,而汉字需要两个字节。下面的函数可以准确计算字符串存入数据库(数据类型为VARCHAR)时的实际长度。

祝你好运!

========================================================

'计算字符串转换为GB2312编码后的字节数
Function CountStringBytes(ByVal str As String) As Long
Dim b() As Byte
Dim count As Long '计数器
Dim i As Long '循环变量

b = str: count = 0
For i = LBound(b) + 1 To UBound(b) Step 2
If b(i) <> 0 Then '双字节字符,需要使用两个字节
count = count + 2
Else
If b(i - 1) <= 127 Then 'ASCII字符,只需用一个字节
count = count + 1
Else
count = count + 2 '扩展字符,需要占用两个字节
End If
End If
Next

CountStringBytes = count
End Function

好像有个len函数:
if len(str)>50 then
...
end if

字符串存入数据库时,其所需字节数与字符串中的字符数是不一定一致的,ASCII字符占用一个字节,而汉字需要两个字节。下面的函数可以准确计算字符串存入数据库(数据类型为VARCHAR)时的实际长度。

祝你好运!

========================================================

'计算字符串转换为GB2312编码后的字节数
Function CountStringBytes(ByVal str As String) As Long
Dim b() As Byte
Dim count As Long '计数器
Dim i As Long '循环变量

b = str: count = 0
For i = LBound(b) + 1 To UBound(b) Step 2
If b(i) <> 0 Then '双字节字符,需要使用两个字节
count = count + 2
Else
If b(i - 1) <= 127 Then 'ASCII字符,只需用一个字节
count = count + 1
Else
count = count + 2 '扩展字符,需要占用两个字节
End If
End If
Next

CountStringBytes = count
End Function