【发布时间】:2020-08-31 11:37:41
【问题描述】:
我在自定义构建的 ionic andorid 插件中使用 capacitor-community sqlite 和
在执行execute 查询时抛出类似near "false": syntax error 的错误,其中表列类型
是varchar。
这里是查询:
insert or replace into FormSchema (SchemaId,SchemaName,Schema,Parent,Application,ModifiedDateTime,Version,PageType,favorite,CategoryType,IsDeleted) values('cc313544-cbcf-4b63-8e79-2181f5d6a3b3','AddPopup','{"schema":{"type":"object","properties":{"favoritespanel":{"virtualKey":true,"roles":[],"type":"object","buttonEvent":"route","properties":{"favorites":{"schemaRoute":"favorites.name","addable":false,"deleteable":false,"roles":[],"query":"Favorites","type":"array","buttonEvent":"route","items":{"schemaRoute":"favorites.name","query":"Favorites","type":"object","buttonEvent":"route","properties":{"parent":{"actualName":"Parent","type":"string"},"entitytimezone":{"actualName":"EntityTimeZone","hide":true,"format":"date-time","placeholder":"EntityTimeZone","title":"EntityTimeZone","type":"string","required":false},"level":{"type":"number"},"entityid":{"actualName":"EntityID","hide":true,"placeholder":"EntityID","title":"EntityID","type":"string","required":false},"uuid":{"actualName":"UUID","type":"string"},"treeStatus":{"default":"collapsed","type":"string"},"loaded":{"type":"string"},"createdby":{"actualName":"CreatedBy","hide":true,"placeholder":"CreatedBy","title":"CreatedBy","type":"string","required":false},"modifieddatetime":{"actualName":"ModifiedDateTime","hide":true,"format":"date-time","placeholder":"ModifiedDateTime","title":"ModifiedDateTime","type":"string","required":false},"name":{"actualName":"name","hide":false,"readonly":false,"type":"string","required":false},"modifiedby":{"actualName":"ModifiedBy","hide":true,"placeholder":"ModifiedBy","title":"ModifiedBy","type":"string","required":false},"createddatetime":{"actualName":"CreatedDateTime","hide":true,"format":"date-time","placeholder":"CreatedDateTime","title":"CreatedDateTime","type":"string","required":false},"favorite":{"actualName":"favorite","view":"favorite","hide":false,"readonly":false,"type":"boolean","buttonEvent":"favorite","routeOnSelect":true,"required":false}},"routeOnSelect":true,"primary":false,"tableName":"favorites"},"routeOnSelect":true,"primary":false,"tableName":"favorites"}}},"availablereportspanel":{"virtualKey":true,"roles":[],"type":"object","buttonEvent":"route","properties":{"availablereports":{"schemaRoute":"availablereports.name","addable":false,"deleteable":false,"roles":[],"query":"AvailableReports","type":"array","buttonEvent":"route","items":{"schemaRoute":"availablereports.name","query":"AvailableReports","type":"object","buttonEvent":"route","properties":{"parent":{"actualName":"Parent","type":"string"},"entitytimezone":{"actualName":"EntityTimeZone","hide":true,"format":"date-time","placeholder":"EntityTimeZone","title":"EntityTimeZone","type":"string","required":false},"level":{"type":"number"},"entityid":{"actualName":"EntityID","hide":true,"placeholder":"EntityID","title":"EntityID","type":"string","required":false},"uuid":{"actualName":"UUID","type":"string"},"treeStatus":{"default":"collapsed","type":"string"},"loaded":{"type":"string"},"createdby":{"actualName":"CreatedBy","hide":true,"placeholder":"CreatedBy","title":"CreatedBy","type":"string","required":false},"modifieddatetime":{"actualName":"ModifiedDateTime","hide":true,"format":"date-time","placeholder":"ModifiedDateTime","title":"ModifiedDateTime","type":"string","required":false},"name":{"actualName":"name","hide":false,"readonly":false,"type":"string","required":false},"modifiedby":{"actualName":"ModifiedBy","hide":true,"placeholder":"ModifiedBy","title":"ModifiedBy","type":"string","required":false},"createddatetime":{"actualName":"CreatedDateTime","hide":true,"format":"date-time","placeholder":"CreatedDateTime","title":"CreatedDateTime","type":"string","required":false},"favorite":{"actualName":"favorite","view":"favorite","hide":false,"readonly":false,"type":"boolean","buttonEvent":"favorite","routeOnSelect":true,"required":false}},"routeOnSelect":true,"primary":false,"tableName":"favorites"},"routeOnSelect":true,"primary":false,"tableName":"favorites"}}}}},"app":"Construction","unitsOfMeasurement":"","queries":[{"sheetName":"AvailableReports","query":"select FormSchema.schemaid as entityid, FormSchema.schemaid as uuid, favorites.userid as userid, favorites.favorite as favorite, FormSchema.schemaname as name FROM FormSchema LEFT JOIN favorites ON FormSchema.schemaid = favorites.entityid where (favorites.favorite='false' OR favorites.favorite is null) and (FormSchema.isDeleted='false' or FormSchema.isDeleted='0' )and FormSchema.pagetype='param2' and FormSchema.categorytype='param1'","property":"AvailableReports"},{"sheetName":"Favorites","query":"select schemaname as name, schemaid as entityid, favorite as favorite from formschema where favorite='true' and isDeleted='false' and pagetype='param2' and categorytype='param1'","property":"Favorites"},{"sheetName":"Panel","query":"select pageType as entityname, schemaid as entityid, favorite as favorite,schemaname as name,categoryType as categoryType from formschema where (isDeleted='false' or isDeleted='0') group by entityname","property":"DropdownQueryWithoutParams"},{"sheetName":"Panel","query":"select pageType as entityname, schemaid as entityid, favorite as favorite,schemaname as name,categoryType as categoryType from formschema where categoryType='param1' and (isDeleted='false' or isDeleted ='0') group by entityname","property":"DropdownQuery","queryParameter":"param1=favorites.categorytype"}],"popupHeader":{"properties":{"formType":"favorites","dropdownValue":"param2=entityname;param1=categoryType","width":"500px","save":false,"refresh":"favorites,availablereports","dropdownQueryWithoutParams":"DropdownQueryWithoutParams","title":"Category","close":true,"dropdown":true,"dropdownQuery":"DropdownQuery","height":"700px"}},"tableName":"Formschema","layout":[{"fxLayoutAlign":"flex-start","fxLayoutWrap":"wrap","justify-content":"space-between","type":"flex","items":[{"fxFlex":"0 0 calc(100%)","expanded":false,"type":"expansion-panel","title":"Favorites","collapsible":true,"items":[{"fxLayoutWrap":"wrap","fxLayoutGap":"10px","type":"flex","items":[{"listItems":0,"headerHeight":0,"type":"table","items":[{"width":"350","type":"string","key":"favoritespanel.favorites[].name"},{"width":"50","type":"favorite","key":"favoritespanel.favorites[].favorite"}],"key":"favoritespanel.favorites","rowHeight":50,"height":"500px"}],"fxLayout":"row"}],"key":"favoritespanel"},{"fxFlex":"0 0 calc(100%)","expanded":true,"type":"expansion-panel","title":"Available Items","collapsible":true,"items":[{"fxLayoutWrap":"wrap","fxLayoutGap":"10px","type":"flex","items":[{"listItems":0,"headerHeight":0,"type":"table","items":[{"width":"350","type":"string","key":"availablereportspanel.availablereports[].name"},{"width":"50","type":"favorite","key":"availablereportspanel.availablereports[].favorite"}],"key":"availablereportspanel.availablereports","rowHeight":50,"height":"500px"}],"fxLayout":"row"}],"key":"availablereportspanel"}],"fxLayout":"row"}],"categoryType":"","parentPage":"","TableName":"AddPopup","pageType":"favorites","$state":"","Version":"65","options":{"submit":false},"readDataFromOtherSource":{"favorites":{"fieldMapping":{}},"availablereports":{"fieldMapping":{}}},"page":"AddPopup","tenant":"All","breadcrumbDisplayName":""}','null','Construction','2020-08-31T03:58:54.3466667','65','favorites','false','','false');
在 sqlite db 浏览器中也一样
用于 SQLite 错误消息的 DB 浏览器:
Execution finished with errors.
Result: near "false": syntax error
At line 1:
insert or replace into FormSchema (SchemaId,SchemaName,Schema,Parent,Application,ModifiedDateTime,Version,PageType,favorite,CategoryType,IsDeleted) values('cc313544-cbcf-4b63-8e79-2181f5d6a3b3','AddPopup','{"schema":{"type":"object","properties":{"favoritespanel":{"virtualKey":true,"roles":[],"type":"object","buttonEvent":"route","properties":{"favorites":{"schemaRoute":"favorites.name","addable":false,"deleteable":false,"roles":[],"query":"Favorites","type":"array","buttonEvent":"route","items":{"schemaRoute":"favorites.name","query":"Favorites","type":"object","buttonEvent":"route","properties":{"parent":{"actualName":"Parent","type":"string"},"entitytimezone":{"actualName":"EntityTimeZone","hide":true,"format":"date-time","placeholder":"EntityTimeZone","title":"EntityTimeZone","type":"string","required":false},"level":{"type":"number"},"entityid":{"actualName":"EntityID","hide":true,"placeholder":"EntityID","title":"EntityID","type":"string","required":false},"uuid":{"actualName":"UUID","type":"string"},"treeStatus":{"default":"collapsed","type":"string"},"loaded":{"type":"string"},"createdby":{"actualName":"CreatedBy","hide":true,"placeholder":"CreatedBy","title":"CreatedBy","type":"string","required":false},"modifieddatetime":{"actualName":"ModifiedDateTime","hide":true,"format":"date-time","placeholder":"ModifiedDateTime","title":"ModifiedDateTime","type":"string","required":false},"name":{"actualName":"name","hide":false,"readonly":false,"type":"string","required":false},"modifiedby":{"actualName":"ModifiedBy","hide":true,"placeholder":"ModifiedBy","title":"ModifiedBy","type":"string","required":false},"createddatetime":{"actualName":"CreatedDateTime","hide":true,"format":"date-time","placeholder":"CreatedDateTime","title":"CreatedDateTime","type":"string","required":false},"favorite":{"actualName":"favorite","view":"favorite","hide":false,"readonly":false,"type":"boolean","buttonEvent":"favorite","routeOnSelect":true,"required":false}},"routeOnSelect":true,"primary":false,"tableName":"favorites"},"routeOnSelect":true,"primary":false,"tableName":"favorites"}}},"availablereportspanel":{"virtualKey":true,"roles":[],"type":"object","buttonEvent":"route","properties":{"availablereports":{"schemaRoute":"availablereports.name","addable":false,"deleteable":false,"roles":[],"query":"AvailableReports","type":"array","buttonEvent":"route","items":{"schemaRoute":"availablereports.name","query":"AvailableReports","type":"object","buttonEvent":"route","properties":{"parent":{"actualName":"Parent","type":"string"},"entitytimezone":{"actualName":"EntityTimeZone","hide":true,"format":"date-time","placeholder":"EntityTimeZone","title":"EntityTimeZone","type":"string","required":false},"level":{"type":"number"},"entityid":{"actualName":"EntityID","hide":true,"placeholder":"EntityID","title":"EntityID","type":"string","required":false},"uuid":{"actualName":"UUID","type":"string"},"treeStatus":{"default":"collapsed","type":"string"},"loaded":{"type":"string"},"createdby":{"actualName":"CreatedBy","hide":true,"placeholder":"CreatedBy","title":"CreatedBy","type":"string","required":false},"modifieddatetime":{"actualName":"ModifiedDateTime","hide":true,"format":"date-time","placeholder":"ModifiedDateTime","title":"ModifiedDateTime","type":"string","required":false},"name":{"actualName":"name","hide":false,"readonly":false,"type":"string","required":false},"modifiedby":{"actualName":"ModifiedBy","hide":true,"placeholder":"ModifiedBy","title":"ModifiedBy","type":"string","required":false},"createddatetime":{"actualName":"CreatedDateTime","hide":true,"format":"date-time","placeholder":"CreatedDateTime","title":"CreatedDateTime","type":"string","required":false},"favorite":{"actualName":"favorite","view":"favorite","hide":false,"readonly":false,"type":"boolean","buttonEvent":"favorite","routeOnSelect":true,"required":false}},"routeOnSelect":true,"primary":false,"tableName":"favorites"},"routeOnSelect":true,"primary":false,"tableName":"favorites"}}}}},"app":"Construction","unitsOfMeasurement":"","queries":[{"sheetName":"AvailableReports","query":"select FormSchema.schemaid as entityid, FormSchema.schemaid as uuid, favorites.userid as userid, favorites.favorite as favorite, FormSchema.schemaname as name FROM FormSchema LEFT JOIN favorites ON FormSchema.schemaid = favorites.entityid where (favorites.favorite='false
即使我添加了单斜杠和双斜杠,例如 .... where (favorites.favorite= \'false\ 和 .... where (favorites.favorite= \\'false\\,但它不起作用。
我需要在查询中做哪些修改。如何解决上述错误?
谢谢。
【问题讨论】:
-
我相信您在使用 json insert 时遇到了困难,所以看起来您使用了错误类型的单引号,希望此链接可以帮助您stackoverflow.com/questions/40930896/…
-
不,@greencrest ...我的表列类型是varchar ...我将查询存储为列内的字符串而不是json对象作为字符串...例如
insert into table where name ='xyz'