新足迹

 找回密码
 注册

精华好帖回顾

· == 食记 Greasy Zoes :山里有佳肴 == (2022-3-7) 胡须康 · 关西的鳞爪 - 2014年4月大阪有马京都旅记 - 【全文完】 顶楼有电梯 - 258楼推荐かね井荞麦面 288 锦市场 (2014-4-21) 胡须康
· 从中国到澳洲,挨踢10年中国篇(全文完)-10月22日更新随笔312楼 (2009-9-7) Melbourner1978 · 台湾三回目 - 台南台中九份台北 (全文完) (2017-10-30) violinlearner
Advertisement
Advertisement
查看: 1342|回复: 11

vb.net 新手请教 [复制链接]

发表于 2011-2-15 23:05 |显示全部楼层
此文章由 郁闷双鱼座 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 郁闷双鱼座 所有!转贴必须注明作者、出处和本声明,并保持内容完整
自学vb.net 2008 中,搞了个小project ,连接Access 2007 数据库。 想设计一个search , 类似google ,使用自动完成 (AutoComplete)功能让输入简化,就是用户打什么就自动去数据库(一张table表)找最接近的数据。 比如: 打A ,出现Apple ,Alice,A123,Atlanta...etc  具体思路是先从table里load Data到 textbox备选 。所以不论是ID,姓名或者city 都可以自动完成输入。 现在卡在textbox AutoCompletemode 属性里了。貌似只能输入数字(number),不能接受字符(String)。 见附图

请各位.net高手多多赐教

-----------------------------------------------------------------------------------------------------------------
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        tbSearch.AutoCompleteMode = AutoCompleteMode.Suggest

        tbSearch.AutoCompleteSource = AutoCompleteSource.CustomSource

        Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Documents and Settings\Administrator\Desktop\AIR\AIR\AR.accdb")

        con.Open()

        Dim cmd As OleDbCommand = New OleDbCommand("SELECT User From ar", con)

        Dim sdr As OleDbDataReader = cmd.ExecuteReader

        While (sdr.Read())

            tbSearch.AutoCompleteCustomSource.Add(sdr.Item("User"))

        End While

        sdr.Close()

        con.Close()

    End Sub
---------------------------------------------------------------------------------------------------------

[ 本帖最后由 郁闷双鱼座 于 2011-2-16 00:10 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
Advertisement
Advertisement

发表于 2011-2-15 23:11 |显示全部楼层
此文章由 pengruijun 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 pengruijun 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你这名字够郁闷的, VB 看的我也够郁闷的, 为啥不自学C#
你这错误是指 不能把DBnull 转化成 string.
你可以先check 一下这个值 如果他是DBnull, 就赋值string.empty。 就可以了

[ 本帖最后由 pengruijun 于 2011-2-16 00:14 编辑 ]

评分

参与人数 1积分 +2 收起 理由
郁闷双鱼座 + 2 谢谢奉献

查看全部评分

发表于 2011-2-15 23:14 |显示全部楼层

回复 2# 的帖子

此文章由 郁闷双鱼座 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 郁闷双鱼座 所有!转贴必须注明作者、出处和本声明,并保持内容完整
一开始是打算上C# ,看了一个星期放弃了。 好歹大学的时候学过一点vb.net ,比较下来还是vb.net上手快!

发表于 2011-2-15 23:20 |显示全部楼层

回复 2# 的帖子

此文章由 郁闷双鱼座 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 郁闷双鱼座 所有!转贴必须注明作者、出处和本声明,并保持内容完整
谢谢Pengruijun .

我查了database , user的属性 确实是DBnull ...我是直接删了它 ,加string.empty . 还是去access数据库改?

发表于 2011-2-15 23:22 |显示全部楼层
此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你去用ISDBNULL查一下,是T就给个“”就行,咋个会想到需要到数据库里改呢?需要补充点基本编程知识。

评分

参与人数 1积分 +2 收起 理由
郁闷双鱼座 + 2 谢谢奉献

查看全部评分

2010年度奖章获得者

发表于 2011-2-16 08:31 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Advertisement
Advertisement

发表于 2011-2-16 09:01 |显示全部楼层
此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
少个.NET
头像被屏蔽

禁止发言

发表于 2011-2-16 09:42 |显示全部楼层

NET来了,还是带dot的

此文章由 iami 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 iami 所有!转贴必须注明作者、出处和本声明,并保持内容完整


[ 本帖最后由 iami 于 2011-2-16 10:43 编辑 ]

评分

参与人数 2积分 +5 收起 理由
乱码 + 3 你总是给我提供精神食粮!!
郁闷双鱼座 + 2 你太有才了

查看全部评分

发表于 2011-2-16 09:46 |显示全部楼层

回复 8# 的帖子

此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你很三俗
头像被屏蔽

禁止发言

发表于 2011-2-16 09:57 |显示全部楼层
此文章由 iami 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 iami 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 cdfei 于 2011-2-16 10:46 AM 发表
你很三俗


谢谢
签名被屏蔽

发表于 2011-2-16 11:10 |显示全部楼层
此文章由 jerryclark 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jerryclark 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 pengruijun 于 2011-2-15 23:11 发表
你这名字够郁闷的, VB 看的我也够郁闷的, 为啥不自学C#
你这错误是指 不能把DBnull 转化成 string.
你可以先check 一下这个值 如果他是DBnull, 就赋值string.empty。 就可以了

直接用ToString()就可以了。就算是DBNull,ToString()的结果也是“”
Advertisement
Advertisement

发表于 2011-2-16 13:30 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 jerryclark 于 2011-2-16 11:10 发表
直接用ToString()就可以了。就算是DBNull,ToString()的结果也是“”

不要走捷径,你这种编程风格会让初学者在将来吃亏。

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部