以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  怎样用SQL加载备注列内容等于某段字符的数据行?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62942)

--  作者:jaegea
--  发布时间:2015/1/10 15:19:00
--  怎样用SQL加载备注列内容等于某段字符的数据行?

dim s1,s2 as string

cmd.C o m m an dText = "S e l e ct * From {表A} Where [列1] = \'" & s1 & "\' And [列2] = \'" & s2 & "\'

 

其中列1为字符列,列2为备注列执行sql语句后提示列类型不能用于等号比对,怎样判断备注列内容等于字符s2


--  作者:Bin
--  发布时间:2015/1/10 15:20:00
--  
具体提示发出来看看.  字符和备注  肯定可以对比.
--  作者:jaegea
--  发布时间:2015/1/10 15:22:00
--  

数据类型 ntext 和 varchar 在 equal to 运算符中不兼容。

 

System.Data.OleDb.OleDbException: 数据类型 ntext 和 varchar 在 equal to 运算符中不兼容。
   在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
   在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
   在 System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
   在 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
   在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   在 System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
   在 System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
   在 Foxtable.SQLCommand.ExecuteReader(Boolean Save)


--  作者:Bin
--  发布时间:2015/1/10 15:23:00
--  
你完整SQL语句发出来我看看,没道理啊
--  作者:jaegea
--  发布时间:2015/1/10 15:25:00
--  

我就单独一个条件也是不行,Se l ect * From {表A} Where [列2] = \'aaa\'


--  作者:Bin
--  发布时间:2015/1/10 15:27:00
--  
你用的是什么数据库? 应该是数据库出问题了,重新安装一下看看.
--  作者:jaegea
--  发布时间:2015/1/10 15:29:00
--  
一直用的sql2005呀,都没动过突然就出问题?
--  作者:jaegea
--  发布时间:2015/1/10 15:34:00
--  
Se l ect * From {表A} Where [列2] Like \'aaa\' 这样写又正常,就是不能等于,真是数据库出问题吗?
--  作者:Bin
--  发布时间:2015/1/10 15:38:00
--  
正常是不会出现这样的问题的. 你重装一下数据库看看吧
--  作者:jaegea
--  发布时间:2015/1/10 15:42:00
--  
你有用SQL测试一下吗?因为公司系统正在运转,重装数据库要停止运转来装,这是个大问题