您的位置:程序门 -> .net技术 -> vb.net



dtcmd.fill(ds)有错请大虾指导!!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


dtcmd.fill(ds)有错请大虾指导!!
发表于:2007-01-14 17:21:19 楼主
'建立连接
                dim   conn   as   oledbconnection
                dim   sconn   as   string
                sconn   =   "provider=microsoft.jet.oledb.4.0;datasource=c:\documents   and   settings\wk\my   documents\stuchj.mdb.admin "
                conn   =   new   oledbconnection(sconn)
                '建立查询命令
                dim   schaxun,   xianshi,   tiaojian   as   string
                xianshi   =   tb.text
                tiaojian   =   inputbox( "输入查询条件: ",   "查询条件 ",   "? ",   300,   300)
                schaxun   =   "select   "   +   xianshi   +   "from   stuchj   where   "   +   tiaojian
                dim   dtcmd   as   new   oledbdataadapter(schaxun,   conn)
                '建立数据集并填充
                dim   ds   as   new   dataset
                dtcmd.fill(ds)
                datagrid1.datasource   =   ds.tables(0)
                conn.close()
发表于:2007-01-14 17:25:571楼 得分:0
schaxun   的格式不对.sql语句错误.
发表于:2007-01-14 17:52:322楼 得分:0
怎么改
发表于:2007-01-14 18:36:383楼 得分:0
再给出错误信息:
未处理的“system.data.oledb.oledbexception”类型的异常出现在   system.data.dll   中
发表于:2007-01-15 10:09:594楼 得分:0
单步运行过语句   schaxun   =   "select   "   +   xianshi   +   "from   stuchj   where   "   +   tiaojian

然后观察schaxun字符串的值,看看是不是符合sql语法.

注意:问题可能出现在inputbox输入的值上了,inputbox的返回值类型是字符串格式!!

查询条件字段的数据类型需要注意了.如果查询的字段是文本类型则,查询条件应该写成:   查询字段= '值 '   的格式,单引号不能丢.  
例如:select   a,b   from   table1   where   c= '管理员 '
那么如果你的inputbox里输入的是 "管理员 ",则按照你的方式生成的sql语句可能就成了
select   a,b   from   table1   where   c=管理员.这样语法就出现了错误了.

发表于:2007-01-15 13:41:085楼 得分:0
谢谢,我注意了楼上大侠的意见,我在用input()给schaxun赋值时输入zongfen> 600
可是问题并不是出在那儿。
  dtcmd.fill(ds)   ‘这句提示有错
错误信息:
未处理的“system.data.oledb.oledbexception”类型的异常出现在   system.data.dll   中
发表于:2007-01-15 13:49:136楼 得分:0
dtcmd.fill(ds)   ‘这句提示有错
未处理的“system.data.oledb.oledbexception”类型的异常出现在   system.data.dll   中


已经很明显了啊....
还不知道哪里错?
发表于:2007-01-15 16:55:447楼 得分:0
俺是新手,请楼上大侠明示!
发表于:2007-01-15 17:05:278楼 得分:0
这句的from前面应该有个空格吧,   schaxun   =   "select   "   +   xianshi   +   "from   stuchj   where   "   +   tiaojian
要不xianshi就和from连一起了.
先把要查询的语句在access之类的数据库中试运行一下,确定不是写错了再查找程序上的原因.
发表于:2007-01-15 17:06:459楼 得分:0
变量要加   " ' "

"select   ' "   +   xianshi   +   " '   from   stuchj   where   ' "   +   tiaojian   +   " ' ";
发表于:2007-01-15 17:10:5610楼 得分:0
俺错了,   你的   from   连到一起了,
发表于:2007-01-15 21:25:0911楼 得分:0
谢谢大侠snowfox007刚才我发现了这个毛病,改正了!
发表于:2007-01-15 21:44:4212楼 得分:0
同样谢谢zhenghaibingood大侠
发表于:2007-01-15 21:45:2213楼 得分:0
问题还是没有解决
发表于:2007-01-16 10:28:2514楼 得分:0
把你想查询的一个例子写出来吧,用实际值代替sql语句中的变量,并指出变量代表的字段在数据库中的数据类型.
发表于:2007-01-16 12:03:2915楼 得分:0
谢谢各位大侠,我找到了令我苦笑不得的错误
data   source写成了datasource
谢过各位了!!


快速检索

最新资讯
热门点击