Sqlite SQLError#3115参数计数不匹配
当我试图将SQL更新用于我在Flex builder中制作的移动应用程序时,我遇到了这个错误。我试图搜索它并删除参数,但即使这样,我也得到了相同的代码。任何帮助都将不胜感激Sqlite SQLError#3115参数计数不匹配,sqlite,parameters,Sqlite,Parameters,当我试图将SQL更新用于我在Flex builder中制作的移动应用程序时,我遇到了这个错误。我试图搜索它并删除参数,但即使这样,我也得到了相同的代码。任何帮助都将不胜感激 SQLError: 'Error #3115: SQL Error.', details:'Mismatch in parameter count. Found 6 in SQL specified and 5 value(s) set in parameters property. ', operation:'execut
SQLError: 'Error #3115: SQL Error.', details:'Mismatch in parameter count. Found 6 in SQL specified and 5 value(s) set in parameters property.
', operation:'execute', detailID:'1004'
at flash.data::SQLStatement/internalExecute()
at flash.data::SQLStatement/execute()
at model::SQLiteDatabase$/updateMember()[/Users/stokhofdavey/Documents/Adobe Flash Builder 4.6/MenuPlannerApplication/src/model/SQLiteDatabase.as:175]
at views::MemberDetailsView/onSaveButtonClicked()[/Users/stokhofdavey/Documents/Adobe Flash Builder 4.6/MenuPlannerApplication/src/views/MemberDetailsView.mxml:25]
at views::MemberDetailsView/___MemberDetailsView_Button3_click()[/Users/stokhofdavey/Documents/Adobe Flash Builder 4.6/MenuPlannerApplication/src/views/MemberDetailsView.mxml:45]
以下是MXML代码:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:ns1="*"
title="Member Details">
<fx:Script>
<![CDATA[
import model.Dish;
import model.Member;
import model.SQLiteDatabase;
protected function onHomeButtonClicked(event:MouseEvent):void {
navigator.popView();
}
protected function onSaveButtonClicked():void {
var editNote:Member = new Member();
editNote.FirstName = efirstname.text;
editNote.FamilyName = efamilyname.text;
editNote.Sex = esex.text;
editNote.Age = eage.text;
editNote.Notes = enotes.text;
SQLiteDatabase.updateMember(editNote);
currentState = "Info";
}
]]>
</fx:Script>
<s:states>
<s:State name="Info"/>
<s:State name="Favorites"/>
<s:State name="EInfo"/>
<s:State name="EFavorites"/>
</s:states>
<s:navigationContent>
<s:Button label="Back" click="navigator.popView();"/>
</s:navigationContent>
<s:actionContent>
<s:Button includeIn="Info" label="Edit" click.Info="this.currentState="EInfo""/>
<s:Button includeIn="EInfo" label="Save" click="onSaveButtonClicked()"/>
</s:actionContent>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:VGroup x="245" y="10" width="100%" height="354" gap="0" >
<ns1:TabMemInfoS includeIn="Favorites" width="60" height="40"/>
<ns1:TabMebInfoL includeIn="Info" width="70" height="40"/>
<ns1:TabMemFavoritesS includeIn="Info" width="60" height="40"/>
<ns1:TabMebInfoL includeIn="EInfo" width="70" height="40"/>
<ns1:TabMemFavoritesS includeIn="EInfo" width="60" height="40"/>
<ns1:TabMemInfoS includeIn="EFavorites"/>
<ns1:TabMemFavoritesL includeIn="EFavorites"/>
<ns1:TabMemFavoritesL includeIn="Favorites" width="70" height="40"/>
</s:VGroup>
<s:Label id="FirstName" includeIn="Info" x="87" y="15" width="148" height="29" text="{data.FirstName}" textAlign="center"
verticalAlign="middle"/>
<s:Label id="FamilyName" includeIn="Info" x="87" y="46" width="148" height="29" text="{data.FamilyName}" textAlign="center"
verticalAlign="middle"/>
<s:Label id="Age" includeIn="Info" x="9" y="97" width="70" height="31" text="{data.Age}" textAlign="center"
verticalAlign="middle"/>
<s:Label id="Sex" includeIn="Info" x="87" y="97" width="70" height="31" text="{data.Sex}" textAlign="center"
verticalAlign="middle"/>
<s:Label id="notes" includeIn="Info" x="10" y="150" width="225" height="204" text="{data.Notes}"/>
<s:Group includeIn="EInfo" width="246" height="364">
<s:TextInput id="efirstname" x="83" y="10" width="150" text="{data.FirstName}" />
<s:TextInput id="efamilyname" x="83" y="47" width="150" text="{data.FamilyName}" />
<s:TextInput id="eage" x="108" y="88" width="90" text="{data.Age}" />
<s:TextInput id="esex" x="10" y="88" width="90" text="{data.Sex}" />
<s:TextArea id="enotes" x="9" y="162" width="227" height="192" text="{data.Notes}" />
</s:Group>
</s:View>
您的SQL命令是:
UPDATE Members SET FirstName=?, FamilyName=?, Sex=?, Age=?, Notes=? WHERE ID=?
但您仅为要更新的五个字段设置参数:
stmt.parameters[0]=note.FirstName;
stmt.parameters[1]=note.FamilyName;
stmt.参数[2]=注释.性别;
stmt.参数[3]=注释.年龄;
stmt.parameters[4]=note.Notes;
您还必须设置ID
值
package model
{
import mx.collections.ArrayCollection;
import mx.core.IUID;
[Bindable]
public class Member implements IUID
{
public var ID:int;
public var FirstName:String;
public var FamilyName:String;
public var Sex:String;
public var AgeID:int;
public var Notes:String;
public var Fname:String;
public var Famname:String;
public var Age:String;
public function get uid(): String {
return ID.toString();
}
public function set uid(value: String): void {
ID = parseInt(value);
}
}
}
UPDATE Members SET FirstName=?, FamilyName=?, Sex=?, Age=?, Notes=? WHERE ID=?