???
改成nvarchar呢?有没有问题?

解决方案 »

  1.   

    问题比较让人迷惑!!!
    因为varchar是变长的,而char是固定长度的。
    通常出错的情况是:因为字段是char,而输入的字符数没有达到设定的长度而出错;相反varchar就没有此况。
      

  2.   

    应该varchar支持的更多一些。
    sql 语句一般都是一样的。
      

  3.   

    tangshancheng(98007)
    我没有这个问题,无论使用varchar还是char我都没有输到设定长度。
      

  4.   

    jery_lee(U2-G2000)
    我没有使用sql语句,我只是用了几个简单的组件,database,querydataset,jdbtable,jdbnavtoolbar,jdbstatuslabel.
      

  5.   

    错误信息如下:
    See com.borland.dx.sql.dataset.ResolutionException error code:  BASE+2com.borland.dx.sql.dataset.ResolutionException: An error occurred deleting a row in the "heart_fieldinfo" table at com.borland.dx.sql.dataset.ResolutionException.a(Unknown Source) at com.borland.dx.sql.dataset.ResolutionException.a(Unknown Source) at com.borland.dx.sql.dataset.l.a(Unknown Source) at com.borland.dx.sql.dataset.QueryResolver.deleteRow(Unknown Source) at com.borland.dx.sql.dataset.ResolutionManager.a(Unknown Source) at com.borland.dx.sql.dataset.ResolutionManager.d(Unknown Source) at com.borland.dx.sql.dataset.ResolutionManager.c(Unknown Source) at com.borland.dx.sql.dataset.ResolutionManager.saveChanges(Unknown Source) at com.borland.dx.sql.dataset.ResolutionManager.saveChanges(Unknown Source) at com.borland.dx.sql.dataset.Database.saveChanges(Unknown Source) at com.borland.dx.sql.dataset.QueryDataSet.saveChanges(Unknown Source) at com.borland.dx.dataset.DataSet.saveChanges(Unknown Source) at com.borland.dbswing.JdbNavToolBar.actionPerformed(JdbNavToolBar.java:1219) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:230) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:230) at java.awt.Component.processMouseEvent(Component.java:3717) at java.awt.Component.processEvent(Component.java:3546) at java.awt.Container.processEvent(Container.java:1164) at java.awt.Component.dispatchEventImpl(Component.java:2595) at java.awt.Container.dispatchEventImpl(Container.java:1213) at java.awt.Component.dispatchEvent(Component.java:2499) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125) at java.awt.Container.dispatchEventImpl(Container.java:1200) at java.awt.Window.dispatchEventImpl(Window.java:912) at java.awt.Component.dispatchEvent(Component.java:2499) at java.awt.EventQueue.dispatchEvent(EventQueue.java:319) at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:103) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:84)Chained exception:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Value can not be converted to requested type. at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source) at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) at com.microsoft.jdbc.base.BaseData.getBigDecimal(Unknown Source) at com.microsoft.jdbc.base.BaseData.getBigDecimal(Unknown Source) at com.microsoft.jdbc.base.BasePreparedStatement.setObjectInternal(Unknown Source) at com.microsoft.jdbc.base.BasePreparedStatement.setObject(Unknown Source) at com.borland.dx.sql.dataset.j.setParameter(Unknown Source) at com.borland.dx.sql.dataset.j.setWhereParameters(Unknown Source) at com.borland.dx.sql.dataset.t.a(Unknown Source) at com.borland.dx.sql.dataset.l.a(Unknown Source) at com.borland.dx.sql.dataset.QueryResolver.deleteRow(Unknown Source) at com.borland.dx.sql.dataset.ResolutionManager.a(Unknown Source) at com.borland.dx.sql.dataset.ResolutionManager.d(Unknown Source) at com.borland.dx.sql.dataset.ResolutionManager.c(Unknown Source) at com.borland.dx.sql.dataset.ResolutionManager.saveChanges(Unknown Source) at com.borland.dx.sql.dataset.ResolutionManager.saveChanges(Unknown Source) at com.borland.dx.sql.dataset.Database.saveChanges(Unknown Source) at com.borland.dx.sql.dataset.QueryDataSet.saveChanges(Unknown Source) at com.borland.dx.dataset.DataSet.saveChanges(Unknown Source) at com.borland.dbswing.JdbNavToolBar.actionPerformed(JdbNavToolBar.java:1219) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:230) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:230) at java.awt.Component.processMouseEvent(Component.java:3717) at java.awt.Component.processEvent(Component.java:3546) at java.awt.Container.processEvent(Container.java:1164) at java.awt.Component.dispatchEventImpl(Component.java:2595) at java.awt.Container.dispatchEventImpl(Container.java:1213) at java.awt.Component.dispatchEvent(Component.java:2499) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125) at java.awt.Container.dispatchEventImpl(Container.java:1200) at java.awt.Window.dispatchEventImpl(Window.java:912) at java.awt.Component.dispatchEvent(Component.java:2499) at java.awt.EventQueue.dispatchEvent(EventQueue.java:319) at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:103) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:84)
      

  6.   


    com.borland.dx.sql.dataset.ResolutionException: An error occurred deleting a row in the "heart_fieldinfo" table你的错误信息提示的是你在删除一行记录!!!不是Update或者Insert
      

  7.   

    update和insert我也作过的,也一样出错,
    我发现我的数据库连接,有时候会莫名其妙的断开,过一会儿又连上了。难道是jbuilder4本身的问题?
    更奇怪的是我今天上午又作了几个试验,发现varchar有时候也可以更新了,但是有的时候却不能,我只是改变了sqlserver2000中的表结构(主要是数据类型),源代码没有变化。
      

  8.   

    可能存在空格吧。
    你先用trim()方法去掉左右空格试试。
      

  9.   

    Dullboy(): 我使用的是borland的数据库组件,不是自己写的程序,完全由组件来组织插入,删除都更新操作。其实,现在我已经发现使用jdbnavtoolbar(jbuilder的导航工具条),
    jdbtable中的varchar字段不能够删除,而且插入的时候不能插入字母,但是可以插入数字,否则就出错。而对于char就没有这些问题。请高手指点指点!