SQL逻辑错误或缺少数据库没有这样的函数:使用sqlite的c#.net中的NVARCHAR
您正在使用SQLite。没有数据类型SQL逻辑错误或缺少数据库没有这样的函数:使用sqlite的c#.net中的NVARCHAR,c#,sqlite,C#,Sqlite,您正在使用SQLite。没有数据类型NVARCHAR,您当前的语法对SQL Server有效。在SQLite中,只有Unicode数据类型(用于字符串)。了解更多关于 您当前的查询有NVARCHAR(100),它被解释为一个方法,因此是异常 SQLite中的DATETIME数据类型存储为Numeric。您可以查看以从您的领域获取时间部分 还考虑使用查询参数代替字符串连接。请参见SqlLite have NVARCHAR它只允许文本因此我们在sqlite中使用的datetime是什么?sqlite
NVARCHAR
,您当前的语法对SQL Server有效。在SQLite中,只有Unicode数据类型(用于字符串)。了解更多关于
您当前的查询有NVARCHAR(100)
,它被解释为一个方法,因此是异常
SQLite中的DATETIME
数据类型存储为Numeric
。您可以查看以从您的领域获取时间部分
还考虑使用查询参数代替字符串连接。请参见
SqlLite have NVARCHAR它只允许文本因此我们在sqlite中使用的datetime是什么?sqlite没有为存储日期和/或时间而预留的存储类。相反,SQLite的内置日期和时间函数能够将日期和时间存储为文本、实数或整数值:文本为ISO8601字符串(“YYYY-MM-DD HH:MM:SS.SSS”)。实数和朱利安日一样,是指从公元前4714年11月24日格林威治正午开始的天数。整数为Unix时间,自1970-01-01 00:00:00 UTC以来的秒数。因此,我在该查询中只更改了datetime而不是nvarchar??那么这个问题是否会解决?正如我之前的评论所述,没有SQL这样的特定日期时间。在您的查询中,请使用文本 public DataTable Get_VISITER_MST_BY_ID(string id)
{
DataSet ds = new DataSet();
using (SQLiteConnection con = DBCONNECTION.Connection())
{
con.Open();
using (SQLiteDataAdapter da = new SQLiteDataAdapter("SELECT VISITER_ID, VISITER_IMAGE, VISITER_INTIME, VISITER_SCANTIME, VISITER_STATUS, VISITER_CANCELTIME, CONVERT(NVARCHAR(100),VISITER_SCANTIME, 100) AS TIME FROM VISITER_MST WHERE (VISITER_ID = '" + id + "'" + ")", con))
{
da.Fill(ds);
}
}
return ds.Tables[0];
}