郁闷,用ado连接数据库怎么会出现如下问题?(10分)

  • 主题发起人 主题发起人 mill666
  • 开始时间 开始时间
M

mill666

Unregistered / Unconfirmed
GUEST, unregistred user!
我在xp下,用delphi 7开发一个东东,通过odbc连接sql server 2000;<br>然后我在form1上放置一个 TAdoConnection,一个TAdoTable,设置Tadoconnectio的connectionstring为:(当然我是通过build出来的connectionstring)<br>
代码:
<br> Provider=MSDASQL.1;Persist Security Info=False;UserID=sa;DataSource=test;Extended Properties=&quot;DSN=test;UID=sa;APP=Enterprise;WSID=MRBILL;DATABASE=test;Network=DBMSSOCN&quot;<br>
<br>然后设置Tadotable的connection为ADOConnection1,其active为true,ADOConnection1的connected为true;<br><br>就这么简单的一个程序,然后运行,出现异常:里面有一句是<br>could not convert variant of type(null) into type(string)<br><br>就这么简单的一个程序,都搞不定,真是郁闷啊,哪位大侠救命啊。
 
如果你在程序运行之前可以正确设置Tadotable的connection为ADOConnection1,其active为true,ADOConnection1的connected为true,而且程序没有提示出错,那么就是你数据表中数据的原因。字段内容是空,但是你的程序又想取出字段值做其他用。<br>你取值之前做一个判断才好。看字段内容是否是null
 
哥们儿,你这个问题应该不是连接上的问题,如果是连接问题的话,在编辑状态下将connected设置为true的时候就应该出现问题了,我建议你调试一下你的程序,看看是哪里有问题,有问题的话你可以通过msn:glj_saac@hotmail.com联系我
 
同志们:<br> &nbsp; &nbsp;这么简单一个程序还需要调试??我可是一个字母的代码都没写啊。<br> &nbsp; &nbsp;就一个窗口,窗口上放置一个Tadoconnection和一个Ttable,设置各自的属性,然后运行?大家千万别说是设置上的问题,把Ttable换成Tadorecset控件,一点问题都没有了。<br> &nbsp; &nbsp;严格上来说,这不是一个程序,而是一个test。
 
报错:不能把空类型覆盖成字符型,<br>接下来该怎么做,应该知道了吧
 
其实问题是ADO版本的问题,我用的xp sp2,mdac版本是2.8.1.117.0,<br>我在windows2000上,装了从微软网址下载的mdac2.8.1 sp1,查看版本号是:2.8.1.117.6,运行这个程序,一点问题都没有。<br><br>可是问题的关键是:我在windows xp sp2上安装这个mdac,说是“不支持xp系统”。<br>一边是不能用,一边是装不上去,你说郁闷吗??
 
could not convert variant of type(null) into type(string)<br>是类型转换错,和ADO应该没有关系吧。
 
xcplates,大侠:<br> &nbsp; &nbsp; &nbsp; &nbsp;关键是我一行代码都没写啊,不是我代码的问题。<br>就放置那么两个控件,设置各自属性,然后按“运行”按钮,马上出现如上错误。<br>你们说是我的错吗??
 
无语................................
 
呵呵,无论是哪个的错,关键是要解决问题,LZ何必这么关心是哪个的错呢
 
用静态字段试试
 
你换一个数据库试一下,是你数据库的原因
 
xcplates,大侠:<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Ttable怎么设置静态字段??
 
双击该组件,会弹出一个字段列表框,点添加就行了,同样的表我在Web应用(ASP.NET+VB.NET)的时候也会出现这种问题,但用D7+ADO连接的时候没出现过。<br>=======================================================================<br>这里有个D7+ ADO+sqlserver 2000的例子<br>http://www.dhss.cn/Soft/ShowSoft.asp?SoftID=13<br>记录里有大量的空字段,没出现像你说的这样的问题
 
奇怪的是,我在windows2000上把mdac升级到2.8.1sp1后,就没有什么问题。<br>可是同样的在xp sp2上运行,就出现这个问题了,原来以为是mdac的问题,去微软网址看了,说是xp sp2 的已经是2.8,从它上面下载的2.8.1sp1确无法在xp上安装,微软网址说是“要在xp sp2上安装2.8.1 sp1,只能用update相应的升级包”,可是我用widows update,却没有什么可以升级的。我的xp sp2可是机器自带的 oem哟。<br><br>刚才我按照xcplates的方法,把Ttable的字段先定义好,结果就没有什么问题,就能够运行。<br>难道Ttable非得先定义好字段? 可是不先定义字段的情况下,在windows2000+mdac2.8.1 sp1上却没有什么问题;看来并不是非得先定义好字段。
 
后退
顶部