读书人

请大家进来帮忙看一看这个异常“无效

发布时间: 2012-01-26 19:40:46 作者: rapoo

请大家进来帮忙,看一看这个错误“无效的属性值”怎么样解决
请大家进来帮忙,看一看这个错误“无效的属性值”怎么样解决
错误在这句中itmX.SubItems(1) = Format(CStr(Rs!C_name), "") 提示是无效的属性值。

VB code
    Dim cn As New ADODB.Connection, Rs As New ADODB.Recordset    cn.ConnectionString = "Provider=MSDASQL.1;DRIVER={adaptive server anywhere 8.0};Persist Security Info=False;DSN=ascnew_2_server; SRVR=ascnew8947;DB=" & db & ";UID=dba;PWD=nokia&shangsi&asc"    cn.Open    Rs.CursorLocation = adUseClient    Rs.Open "select * from T_AX_Corp_Info", cn, 3, 1        While Not Rs.EOF   Set itmX = ListView1.ListItems.Add(, , CStr(Rs!c_code))     If Not IsNull(Rs!c_code) Then               itmX.SubItems(1) = Format(CStr(Rs!C_name), "") '第一种               'itmX.SubItems(1) = CStr(Rs!C_name) 第二种               'itmX.SubItems(1) = Rs!C_name  第三种      End If      Rs.MoveNext   '移动到下一条记录。   Wend         Set Rs = Nothing     Set cn = Nothing


[解决办法]
Format(Rs!C_name, "")
[解决办法]
探讨
还真不习惯这种写法,我一般写成Rs.Fields().对了,这里加上Format并把第二个参数设为""的意图是什么呢

[解决办法]
s=Format(Rs!C_name)
format后就类似于cstr,所以cstr多余...
可靠的方法:
s=Rs!C_name & vbnullstring
[解决办法]
VB code
Dim cn As New ADODB.Connection, Rs As New ADODB.RecordsetListView1.View = lvwReportListView1.ColumnHeaders.Add 1, , ""'注您要显示多少列就有多少个ListView1.ColumnHeaders.Add 1, , ""ListView1.ColumnHeaders.Add 1, , ""cn.ConnectionString = "Provider=MSDASQL.1;DRIVER={adaptive server anywhere 8.0};Persist Security Info=False;DSN=ascnew_2_server; SRVR=ascnew8947;DB=" & db & ";UID=dba;PWD=nokia&shangsi&asc"    cn.Open    Rs.CursorLocation = adUseClient    Rs.Open "select * from T_AX_Corp_Info", cn, 3, 1 While Not Rs.EOF   Set itmX = ListView1.ListItems.Add(, , CStr(Rs!c_code))     If Not IsNull(Rs!c_code) Then               itmX.SubItems(1) = Format(CStr(Rs!C_name), "") '第一种               'itmX.SubItems(1) = CStr(Rs!C_name) 第二种               'itmX.SubItems(1) = Rs!C_name  第三种      End If      Rs.MoveNext   '移动到下一条记录。   Wend         Set Rs = Nothing     Set cn = Nothing
[解决办法]
不好意思上面忘了定义itmx
VB code
Dim cn As New ADODB.Connection, Rs As New ADODB.RecordsetDim itmx As ListItemListView1.View = lvwReportListView1.ColumnHeaders.Add 1, , ""'注您要显示多少列就有多少个ListView1.ColumnHeaders.Add 1, , ""ListView1.ColumnHeaders.Add 1, , ""cn.ConnectionString = "Provider=MSDASQL.1;DRIVER={adaptive server anywhere 8.0};Persist Security Info=False;DSN=ascnew_2_server; SRVR=ascnew8947;DB=" & db & ";UID=dba;PWD=nokia&shangsi&asc"    cn.Open    Rs.CursorLocation = adUseClient    Rs.Open "select * from T_AX_Corp_Info", cn, 3, 1 While Not Rs.EOF   Set itmX = ListView1.ListItems.Add(, , CStr(Rs!c_code))     If Not IsNull(Rs!c_code) Then               itmX.SubItems(1) = Format(CStr(Rs!C_name), "") '第一种               'itmX.SubItems(1) = CStr(Rs!C_name) 第二种               'itmX.SubItems(1) = Rs!C_name  第三种      End If      Rs.MoveNext   '移动到下一条记录。   Wend         Set Rs = Nothing     Set cn = Nothing
[解决办法]
VB code
     If Not IsNull(Rs!c_code) Then'跟这个写法一样不就可以了               if not IsNull(Rs!C_name) then itmX.SubItems(1) = Rs!C_name 

读书人网 >VB

热点推荐