函数在Table Adapter Query bulider中不起作用

时间:2016-01-20 12:13:32

标签: sql visual-studio-2013 dataset

我使用Visual Studio 2013,尝试在Table Adapter Query Builder(在DataSet.XSD中)中使用某些功能(例如" cast"和Year)。我每次都会得到erroe messgae。我在其他sql程序上运行sql语句,它工作正常。有没有人面对这个问题?

enter image description here

2 个答案:

答案 0 :(得分:2)

您的dataSource是SQL Server还是SQLite。如果您使用SqLite,则不允许使用诸如Year(),Cast()之类的函数。

如果您使用的是SQLite,请在下面找到日期时间函数参考链接,

https://www.sqlite.org/lang_datefunc.html

正如您要求使用Cast函数,有SO post描述了强制转换函数,它类似于SQL Server

  

SQLite支持CAST和:

Casting an INTEGER or REAL value into TEXT renders the value as if via sqlite3_snprintf() except that the resulting TEXT uses the
     

数据库连接的编码。

     

所以你可以这样做:

     

从some_table中选择强制转换(some_integer_column作为文本);

     

或者,根据你想要做什么,你可以只对待   数字作为字符串,让SQLite强制它认为合适的类型:

     

选择some_int || some_table的'煎饼';选择some_int || “”   来自some_table;

答案 1 :(得分:1)

SQLite没有此功能YEAR(...)。请改为strftime('%Y', degrees.ExamDate) = '2017'